Skip to content
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

Added events.draggedOver #37

Closed
wants to merge 1 commit into from
Closed

Added events.draggedOver #37

wants to merge 1 commit into from

Conversation

ankri
Copy link
Collaborator

@ankri ankri commented Feb 22, 2020

This is a first attempt to solve #28. But is a draft only.

I started implementing a solution and added events.draggedOver. useNode now provides a selector for events.draggedOver: boolean and useEditor now provides a selector for events.draggedOver: NodeId | null. Currently this is implementation and example only. I have not added documentation yet because I ran into a problem:

Currently I implemented draggedOver like this:

if (query.node(id).isCanvas()) {
setNodeEvent("draggedOver", id);
} else {
setNodeEvent("draggedOver", query.node(id).get().data.parent);
}

It works great for my use case: Adding an outline to the Canvas that the Node will be dropped in. The problem is that draggedOver will either be the id of the Component the Node is being dragged over if the node is a Canvas or it will be the id of the parent Canvas if the node is not a Canvas.
It could break the developer's expectation because draggedOver will never be true for the component the node is being dragged over if the component is not a Canvas.

I couldn't come up with a good solution that set draggedOver to the dragged over NodeId while still being able to only add a CSS rule to the parent Canvas.

What do you think @prevwong ? Should we continue with draggedOver being either the NodeId or the NodeId of the parent canvas? Or go with draggedOver always being the NodeId of the node that is being dragged over?


Example Usage in the landing example Container
Example Usage in the landing example OnlyButtons

@prevwong
Copy link
Owner

prevwong commented Mar 23, 2020

Hey @ankri, what if we kept draggedOver to be the id of the Node, and let the developer to decide what they want to do with it?

Let's use your example of adding an outline to the immediate Canvas of the Node that is being dragged over:

export const MyCanvas = () => {
    const {id} = useNode();
    const {isDraggedOver} = useEditor((state, query) => {
        let isDraggedOver = false;
        const { events: {draggedOver} } = state;
        if ( draggedOver ) {

           // Get all ancestor ids of the Node that is being dragged over
            const ancestors = query.node(draggedOver).ancestors();

            for ( let i = 0; i < ancestors.length; i++ ) {
                const ancestorId = ancestors[i];
                const isAncestorCanvas = query.isCanvas(ancestorId);
                if ( isAncestorCanvas ) {

                    // If the first Canvas ancestor is the current Canvas
                    if ( ancestorId == id ) {
                        isDraggedOver = true;
                    }
                    break;
                }
            }
        }
       return {
         isDraggedOver
       }
    });

    return (
        <div className={isDraggedOver ? 'outline' : ''}>
            ...
        </div>
    )
}

But yea, if this is a common use case then it might be a lot of code and not so convenient. Alternatively, maybe we can convert the example I wrote into a NodeHelper, so we can then easily do something like query.node(id).hasChildNodeDraggedOver():

export const MyCanvas = () => {
    const {id} = useNode();
    const {isDraggedOver} = useEditor((state, query) => ({
        isDraggedOver: query.node(id).hasChildNodeDraggedOver()
    }));

    return (
        <div className={isDraggedOver ? 'outline' : ''}>
            ...
        </div>
    )
}

@prevwong prevwong force-pushed the master branch 4 times, most recently from bf04b11 to 60aca5b Compare June 14, 2020 11:38
kodiakhq bot pushed a commit that referenced this pull request Feb 11, 2021
This PR adds `draggedOver` to the `events`. It's almost the same as #37 but targets the `next` branch and the new EventHandlers, which also gives us a cleaner API. (#37 will be obsolete).

Since the new EventHandlers introduced a `Set` as the store for the EventHandlers, we can now store not only the id of the node we are dragging over, but all of its ancestors, too.

I also updated the Basic example with two different examples on how to make use of the new API.

Closes #28, #37, #183

---

The only complaint we have with the new API is the name `draggedOver`. @prevwong suggested to re-use the `hovered` event. If an element is being hovered, and the `dragged` event stores at least one nodeId, we are dragging over an element. I prefer a more explicit API over an implicit one. As a counter argument Prev suggested to make use of the `EventHelpers`. 

I, too am not a fan of the name `draggedOver` but lack the creativity to come up with a better name, but I prefer the DX of having an explicit event for dragging over elements. My argument is, that the developer could discover the API with just using code completion and without having to have a look at the documentation of `hovered` or looking at a guide / example.

Maybe @matdru,  @mresposito or @timc1 can chime in and discus the API. Not only these guys, but everyone is welcome to leave a comment. 👍
@ankri
Copy link
Collaborator Author

ankri commented Feb 12, 2021

Closing in favor of #186

@ankri ankri closed this Feb 12, 2021
prevwong added a commit that referenced this pull request May 22, 2021
commit 1880f86
Merge: 3dad132 f228f48
Author: Prev Wong <prevwong@gmail.com>
Date:   Sat May 22 18:52:19 2021 +0800

    Merge branch 'next' into develop

    # Conflicts:
    #	examples/basic/package.json
    #	examples/landing/package.json
    #	lerna.json
    #	packages/core/package.json
    #	packages/core/src/events/CoreEventHandlers.ts
    #	packages/core/src/events/DefaultEventHandlers.ts
    #	packages/core/src/nodes/NodeHandlers.ts
    #	packages/core/src/render/RenderNode.tsx
    #	packages/core/src/utils/Handlers.ts
    #	packages/docs/docs/concepts/user-components.md
    #	packages/docs/docs/guides/save-load.md
    #	packages/docs/versioned_docs/version-0.1.0-beta.11/concepts/user-components.md
    #	packages/docs/versioned_docs/version-0.1.0-beta.11/guides/save-load.md
    #	packages/docs/versions.json
    #	packages/examples/landing/components/editor/Viewport/index.tsx
    #	packages/layers/package.json
    #	packages/utils/package.json
    #	packages/utils/src/History.ts
    #	packages/utils/src/useMethods.ts
    #	site/docs/concepts/user-components.md
    #	site/docs/guides/basic-tutorial.md
    #	site/docs/guides/save-load.md
    #	site/package.json
    #	site/versioned_docs/version-0.1.0-beta.17/acknowledgements.md
    #	site/versioned_docs/version-0.1.0-beta.17/additional/layers.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/Editor.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/EditorState.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/Element.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/Frame.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/Node.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/NodeHelpers.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/NodeTree.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/UserComponent.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/useEditor.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/useNode.md
    #	site/versioned_docs/version-0.1.0-beta.17/concepts/editor-components.md
    #	site/versioned_docs/version-0.1.0-beta.17/concepts/nodes.md
    #	site/versioned_docs/version-0.1.0-beta.17/concepts/serializing.md
    #	site/versioned_docs/version-0.1.0-beta.17/concepts/user-components.md
    #	site/versioned_docs/version-0.1.0-beta.17/dev.md
    #	site/versioned_docs/version-0.1.0-beta.17/guides/basic-tutorial.md
    #	site/versioned_docs/version-0.1.0-beta.17/guides/save-load.md
    #	site/versioned_docs/version-0.1.0-beta.17/overview.md
    #	site/versioned_sidebars/version-0.1.0-beta.17-sidebars.json
    #	yarn.lock

commit f228f48
Author: Prev Wong <prevwong@gmail.com>
Date:   Sat May 22 13:30:08 2021 +0800

    fix(layers): layer node type

commit 452ea48
Author: Prev Wong <prevwong@gmail.com>
Date:   Sat May 22 13:28:06 2021 +0800

    fix: linked node props (#245)

    * fix: persist linked node props

    * chore: update workflows

commit 45f42c5
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri May 21 18:31:58 2021 +0800

    chore: update workflows

commit bd726c7
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri May 21 16:52:59 2021 +0800

    fix: types

commit 05d27f3
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri May 21 16:49:11 2021 +0800

    chore: site nit

commit dac1d4a
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri May 21 16:41:12 2021 +0800

    chore: bump lerna

commit 23963e7
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri May 21 00:54:36 2021 +0800

    chore: lint

commit b9de63a
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri May 21 00:53:02 2021 +0800

    chore: fix deploy path

commit 3da530a
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri May 21 00:51:14 2021 +0800

    fix: missing type in UserComponentConfig

commit 0a126ac
Author: Prev Wong <prevwong@gmail.com>
Date:   Thu May 20 22:11:21 2021 +0800

    fix(landing): hover indicator

commit 2bbf2ad
Author: Prev Wong <prevwong@gmail.com>
Date:   Thu May 20 19:08:21 2021 +0800

    chore: site upgrades

    commit 4b4fb028ae67e9263e8d9cbe02612eb0aef00770
    Author: Prev Wong <prevwong@gmail.com>
    Date:   Thu May 20 19:04:02 2021 +0800

        chore: disable prerelease job

    commit 9e9f866d26d4f4531c0286bea22e6bf18bc850e0
    Author: Prev Wong <prevwong@gmail.com>
    Date:   Thu May 20 19:03:00 2021 +0800

        chore: remove deploy:staging

    commit 959977609c2e74fbd1ff833d248b0c93c447692d
    Author: Prev Wong <prevwong@gmail.com>
    Date:   Thu May 20 18:57:48 2021 +0800

        nit: ui changes

    commit 29a09763ba27c441dd3ac7c2cee7738ab37c2e63
    Author: Prev Wong <prevwong@gmail.com>
    Date:   Thu May 20 18:56:57 2021 +0800

        chore: restructure site

    commit 0c256a0e660d72a6e5c683346098ba460291e8a6
    Author: Prev Wong <prevwong@gmail.com>
    Date:   Thu May 20 16:23:58 2021 +0800

        chore: remove versioned docs

        TODO: use netlify for site versioning

    commit 76bd6644e5cc9c03ce3ca7d02031b0af551df944
    Author: Prev Wong <prevwong@gmail.com>
    Date:   Thu May 20 16:22:14 2021 +0800

        feat: site upgrades

    commit 859b4d71765d2eb4e9601e5c202e98d575ea91fd
    Author: Prev Wong <prevwong@gmail.com>
    Date:   Fri May 14 17:06:14 2021 +0800

        chore: fix dependencies

commit b61998c
Author: GitHub Action <action@github.com>
Date:   Fri May 14 09:00:48 2021 +0000

    v0.2.0-alpha.23

commit 763274c
Author: Michele Riccardo Esposito <mresposito5@gmail.com>
Date:   Fri May 14 09:54:16 2021 +0100

    feat(slate): improve speed of slate/craft integration (#241)

    * avoid applying the same actions twice

    * fix bug in acitons

commit 6c12e69
Author: GitHub Action <action@github.com>
Date:   Mon Apr 26 09:34:45 2021 +0000

    v0.2.0-alpha.22

commit 65450ea
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Apr 26 17:29:01 2021 +0800

    fix: orphaned linked nodes (#236)

commit 32e63f7
Author: GitHub Action <action@github.com>
Date:   Mon Mar 22 09:10:16 2021 +0000

    v0.2.0-alpha.21

commit 0a4c22c
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Mar 22 16:58:37 2021 +0800

    hotfix: remove deleted slate nodes

commit 7c0034c
Author: GitHub Action <action@github.com>
Date:   Mon Mar 22 04:57:18 2021 +0000

    v0.2.0-alpha.20

commit 9f7ec97
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Mar 22 12:52:27 2021 +0800

    fix: remove slate node (#217)

commit ed97520
Author: Prev Wong <prevwong@gmail.com>
Date:   Thu Mar 18 17:26:05 2021 +0800

    chore: update package.json

commit ae94c14
Author: GitHub Action <action@github.com>
Date:   Tue Mar 16 09:21:18 2021 +0000

    v0.2.0-alpha.19

commit 0d9c6e5
Author: Tim <timothychang94@gmail.com>
Date:   Tue Mar 16 05:16:42 2021 -0400

    feat: additional indicator options (#212)

commit efa0ace
Author: GitHub Action <action@github.com>
Date:   Thu Mar 11 18:44:21 2021 +0000

    v0.2.0-alpha.18

commit fb214d3
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri Mar 12 02:36:42 2021 +0800

    hotfix: migrate immer (#214)

    * fix: layers unsafe mutation

    * chore: remove immer from core

    * chore: enable immer plugins

    * chore: handle deprecation

    * fix: type

    * chore: yarn-lock

    * chore: type

    * cleanup

commit 5bd4783
Author: GitHub Action <action@github.com>
Date:   Thu Mar 11 12:44:23 2021 +0000

    v0.2.0-alpha.17

commit 3750b11
Author: Prev Wong <prevwong@gmail.com>
Date:   Thu Mar 11 20:31:03 2021 +0800

    fix: lint

commit 43a4afb
Author: Deepak Kumar Jain <deepakkj@users.noreply.github.com>
Date:   Thu Mar 11 17:34:41 2021 +0530

    chore: update immer to fix npm audit security vulnerability (#211)

    # Conflicts:
    #	yarn.lock

commit 639994c
Author: Prev Wong <prevwong@gmail.com>
Date:   Thu Mar 11 20:23:23 2021 +0800

    chore: fix lockfile

commit 0c4f4ed
Author: Andy Krings-Stern <ankri@users.noreply.github.com>
Date:   Thu Feb 18 05:39:05 2021 +0100

    test(cypress): Add integration tests (#193)

    * add cypress

    * add tests

    * make basic example testable with testids

    * update the cypress version

    * add .DS_Store to root gitignore

    * added new line

    * moved drag and drop commands to separate file

    * fix flaky test

    Co-authored-by: Prev Wong <prevwong@gmail.com>

commit 195ea30
Author: GitHub Action <action@github.com>
Date:   Thu Feb 18 04:28:57 2021 +0000

    v0.2.0-alpha.16

commit f9c2274
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Feb 15 13:16:04 2021 +0800

    fix: handlers not being disabled (#189)

commit 81bfb71
Author: Andy Krings-Stern <ankri@users.noreply.github.com>
Date:   Mon Feb 15 04:39:57 2021 +0100

    feat: Added a callback function to connectors.create to get access to the added node (#188)

    * fixed lint errors

    * added options parameter to be able to solve #152 in another PR

    * fixed test

    * changed type of required parameter

commit e924887
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri Feb 12 10:49:33 2021 +0800

    Revert "Added events.draggedOver part 2 (#184)" (#185)

    This reverts commit 3fad8a2.

commit ba4a7a2
Author: GitHub Action <action@github.com>
Date:   Thu Feb 11 19:28:53 2021 +0000

    v0.2.0-alpha.15

commit 3fad8a2
Author: Andy Krings-Stern <ankri@users.noreply.github.com>
Date:   Thu Feb 11 20:24:26 2021 +0100

    Added events.draggedOver part 2 (#184)

    This PR adds `draggedOver` to the `events`. It's almost the same as #37 but targets the `next` branch and the new EventHandlers, which also gives us a cleaner API. (#37 will be obsolete).

    Since the new EventHandlers introduced a `Set` as the store for the EventHandlers, we can now store not only the id of the node we are dragging over, but all of its ancestors, too.

    I also updated the Basic example with two different examples on how to make use of the new API.

    Closes #28, #37, #183

    ---

    The only complaint we have with the new API is the name `draggedOver`. @prevwong suggested to re-use the `hovered` event. If an element is being hovered, and the `dragged` event stores at least one nodeId, we are dragging over an element. I prefer a more explicit API over an implicit one. As a counter argument Prev suggested to make use of the `EventHelpers`.

    I, too am not a fan of the name `draggedOver` but lack the creativity to come up with a better name, but I prefer the DX of having an explicit event for dragging over elements. My argument is, that the developer could discover the API with just using code completion and without having to have a look at the documentation of `hovered` or looking at a guide / example.

    Maybe @matdru,  @mresposito or @timc1 can chime in and discus the API. Not only these guys, but everyone is welcome to leave a comment. 👍

commit c264736
Author: GitHub Action <action@github.com>
Date:   Mon Feb 8 16:16:00 2021 +0000

    v0.2.0-alpha.14

commit 964e2d3
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Feb 8 23:10:01 2021 +0800

    chore: fix draggable=true layer handlers

commit ef4a4a1
Author: Prev Wong <prevwong@gmail.com>
Date:   Sat Feb 6 19:08:19 2021 +0800

    feat: rework handlers (#178)

    - Improves and simplifies EventHandlers internal API
    - Removes hacky and unstable subscriber logic

commit 43526c8
Author: Tim <timchang.tcc@gmail.com>
Date:   Fri Feb 5 08:14:49 2021 -0500

    fix: css grid drag and drop jank (#174)

    Follow up from #151.

    This PR fixes the CSS grid drag/drop jank:

    https://user-images.githubusercontent.com/12195101/106777448-ff15df00-6612-11eb-998c-6cf5a4eaa000.mp4

commit 797007a
Author: Prev Wong <prevwong@gmail.com>
Date:   Thu Feb 4 19:44:33 2021 +0800

    chore: add kodiak

commit adbfa18
Author: GitHub Action <action@github.com>
Date:   Wed Feb 3 04:54:07 2021 +0000

    v0.2.0-alpha.13

commit 6782edf
Author: Prev Wong <prevwong@gmail.com>
Date:   Wed Feb 3 12:40:26 2021 +0800

    fix: yarn.lock

commit 9e3ece3
Author: Prev Wong <prevwong@gmail.com>
Date:   Wed Feb 3 12:21:16 2021 +0800

    chore: limit autodeploy

commit 5768b11
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 25 10:53:53 2021 +0800

    hotifx: events not defined

commit 783aae9
Author: Tim <timchang.tcc@gmail.com>
Date:   Sun Jan 24 09:40:56 2021 -0500

    feat: add grid to styleInFlow (#151)

commit 2052408
Author: Prev Wong <prevwong@gmail.com>
Date:   Sun Jan 24 22:37:21 2021 +0800

    chore: fix dependencies (#166)

    # Conflicts:
    #	packages/layers/package.json

commit 25b4a4b
Author: Prev Wong <prevwong@gmail.com>
Date:   Sun Jan 24 22:38:40 2021 +0800

    Merge branch 'nicoladefranceschi-develop' into develop

commit f86aed1
Author: Prev Wong <prevwong@gmail.com>
Date:   Sun Jan 24 17:05:09 2021 +0800

    hotfix: clear events prior to updating nodes state (#164)

commit 5229227
Author: Prev Wong <prevwong@gmail.com>
Date:   Sun Jan 24 16:56:03 2021 +0800

    chore: add netlify badge

commit 9c27936
Author: GitHub Action <action@github.com>
Date:   Thu Jan 28 10:41:06 2021 +0000

    v0.2.0-alpha.12

commit f201ddc
Author: Prev Wong <prevwong@gmail.com>
Date:   Thu Jan 28 18:37:13 2021 +0800

    fix(slate): delete orphaned nodes (#171)

commit 4d34370
Author: GitHub Action <action@github.com>
Date:   Tue Jan 26 09:14:21 2021 +0000

    v0.2.0-alpha.11

commit 9a7b3b3
Author: Prev Wong <prevwong@gmail.com>
Date:   Tue Jan 26 17:10:08 2021 +0800

    fix(slate): split operation bug (#169)

commit ca70c46
Author: GitHub Action <action@github.com>
Date:   Fri Jan 22 10:51:36 2021 +0000

    v0.2.0-alpha.10

commit 60a600a
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri Jan 22 18:47:39 2021 +0800

    fix: remove auto-add drag connector (#163)

commit 4a8126d
Author: GitHub Action <action@github.com>
Date:   Wed Jan 20 11:35:38 2021 +0000

    v0.2.0-alpha.9

commit a46ed6c
Author: Prev Wong <prevwong@gmail.com>
Date:   Wed Jan 20 19:30:40 2021 +0800

    fix: remove slate op (#162)

commit 3f086e8
Author: GitHub Action <action@github.com>
Date:   Tue Jan 12 04:20:17 2021 +0000

    v0.2.0-alpha.8

commit 58af806
Author: Prev Wong <prevwong@icloud.com>
Date:   Tue Jan 12 12:15:55 2021 +0800

    fix: slate bugs (#159)

    * fix: splitSlate

    * nit

    * feat: history merge

    * feat: useCraftStateSync history merge

    * Adds id for set_node operation

    * fix: normalization

    * chore: selection

    * nit: var name

    * chore: remove line

    Co-authored-by: Mateusz Drulis <mateusz.drulis@gmail.com>

commit f009cf0
Author: GitHub Action <action@github.com>
Date:   Tue Jan 12 03:30:39 2021 +0000

    v0.2.0-alpha.7

commit 8016b82
Author: Prev Wong <prevwong@gmail.com>
Date:   Sun Jan 10 19:36:08 2021 +0800

    feat: history merge

commit 0e1ed18
Author: GitHub Action <action@github.com>
Date:   Wed Jan 6 10:32:47 2021 +0000

    v0.2.0-alpha.6

commit 78f5898
Author: Prev Wong <prevwong@gmail.com>
Date:   Wed Jan 6 18:14:27 2021 +0800

    chore: slate npm package

commit 16cab34
Author: GitHub Action <action@github.com>
Date:   Wed Jan 6 09:55:23 2021 +0000

    v0.2.0-alpha.5

commit b94e19c
Author: Prev Wong <prevwong@gmail.com>
Date:   Wed Jan 6 17:49:53 2021 +0800

    chore: bump node version

commit e297475
Author: Prev Wong <prevwong@icloud.com>
Date:   Wed Jan 6 17:44:25 2021 +0800

    feat: add Slate integration (#148)

    * feat: add event info

    * feat: export NodeHelpers

    * feat: expose connect connector

    * feat: add slate demo

    * chore: lint

    * chore: export query

    * fix: history throttle

    * feat: refactor slate

    * fix: dbl click

    * fix: focus

    * feat: improve normalisation

    * chore: cleanup

    * chore: revert event

    * chore: remove CraftBinder

    * fix: wrapElement normalization

    * chore: move

    * fix: isCanvas craft property

    * fix: setDOM invalid node id

    * chore: export render

    * chore: cleanup history

    * chore: refactor slate

    * fix: selection

    * feat: improve normalisation

    * chore: cleanup

    * feat: sync selection

    * feat: remove invalid nodes

    * feat: normalize on state change

    * cleanup

    * fix: focus lost on split

    * fix: caret

    * chore: cleanup and improve Text

    * feat: unify slate/craft render flow

    * feat: improve node format conversion

    * fix: format + inline elements

    * feat: use slate api to retrieve text offset

    * chore: cleanup API

    * chore: useStateSync -> CraftStateSync

    * chore: cleanup focus

    * fix: perf

    * feat: update caret api

    * feat: revert state sync

    * cleanup

    * reset caret when another node is selected

    * fix: split child slate node

    * try alternative approach to selection management

    * fix: use state normalizeNodes option

    * chore: add temporary example

    * Adds list normalization check

    * Adds todo

    * fix: selection

    * fix: selection

    * fix: infinite loop

    * Adds merging of sibling Lists

    * cleanup

    * fix: selection on undo/redo

    * fix: window selection conflict

    * cleanup

    * fix: normalization + unit tests

    * feat: allow override of Element

    * feat: improve selection sync

    * chore: cleanup

    * feat: disableOnDeselect

    * fix: infinite loop

    * chore: cleanup

    * feat: improve structure

    * feat: use Leaf

    * feat: move enabled to Element

    * fix: selection

    * chore: rollup

    * chore: remove temp example

    * lint

    * remove tsconf

    * chore: cleanup

    * chore: cleanup

    * chore

    * fix: nested slate node

    * chore: export testHelpers

    * chore: cleanup structure

    * chore: bump node version

    * revert

    * chore: comments

    * chore: move slate deps as peerDeps

    Co-authored-by: Mateusz Drulis <mateusz.drulis@gmail.com>

commit 68d957c
Author: GitHub Action <action@github.com>
Date:   Wed Jan 6 09:20:11 2021 +0000

    v0.2.0-alpha.4

commit 3245fa0
Author: Prev Wong <prevwong@gmail.com>
Date:   Wed Jan 6 16:09:56 2021 +0800

    chore: bump node version

commit b61ac9f
Author: Prev Wong <prevwong@gmail.com>
Date:   Tue Jan 5 13:50:17 2021 +0800

    chore: export testHelpers

commit b52a411
Author: Prev Wong <prevwong@gmail.com>
Date:   Wed Jan 6 17:13:56 2021 +0800

    chore: update test matcher

commit d8cc3c2
Author: GitHub Action <action@github.com>
Date:   Mon Jan 4 04:52:14 2021 +0000

    v0.2.0-alpha.3

commit 2b93e2a
Merge: 2decf1b 0f46f24
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 12:43:34 2021 +0800

    Merge branch 'next' of ssh://github.com/prevwong/craft.js into next

commit 2decf1b
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 12:43:28 2021 +0800

    chore: update release script

commit 0f46f24
Author: GitHub Action <action@github.com>
Date:   Mon Jan 4 04:16:17 2021 +0000

    v0.2.0-alpha.2

commit bc4bcbd
Author: Prev Wong <prevwong@icloud.com>
Date:   Mon Jan 4 12:08:12 2021 +0800

    fix: History throttle (#157)

commit 5443af9
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 11:46:21 2021 +0800

    chore: early return setDom

commit 32f971b
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 11:47:07 2021 +0800

    chore: group connector

commit f39c660
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 11:56:46 2021 +0800

    chore: release next

commit 3213ead
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 11:51:27 2021 +0800

    chore: exports

commit 96cea61
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 11:51:14 2021 +0800

    fix: use latest normalizing function

commit ff2b3cf
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 11:48:28 2021 +0800

    feat: extend NodeElement render

commit 02d0ba6
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 11:45:42 2021 +0800

    chore: fix type

commit f489adf
Author: GitHub Action <action@github.com>
Date:   Fri Dec 4 11:10:44 2020 +0000

    v0.2.0-alpha.1

commit 712e750
Author: Mateusz Drulis <mateusz.drulis@gmail.com>
Date:   Fri Dec 4 11:45:37 2020 +0100

    Auto pre-release for next branch (#147)

    * Adds github job to prerelease next on push

    * Adds code analysis workflow

    * Fix typo

    * Adds scaffold to PR workflow

    * Install deps if no cache hit

    * enable code analysis on next branch PR

    * Update prerelease scripts

    * Remove wrong branch check

    * Fix typo

    * Refactor next flow to use simple publish

commit 8e858a9
Author: Mateusz Drulis <mateusz.drulis@gmail.com>
Date:   Wed Nov 25 10:21:54 2020 +0100

    chore: Pre-release job - fix typo (#146)

    * Adds github job to prerelease next on push

    * Adds code analysis workflow

    * Fix typo

    * Adds scaffold to PR workflow

    * Install deps if no cache hit

    * enable code analysis on next branch PR

    * Update prerelease scripts

    * Remove wrong branch check

    * Fix typo

commit 9259bfd
Author: Mateusz Drulis <mateusz.drulis@gmail.com>
Date:   Tue Nov 24 11:27:05 2020 +0100

    chore: Adds github job to prerelease next on push (#142)

    * Adds github job to prerelease next on push

    * Adds code analysis workflow

    * Fix typo

    * Adds scaffold to PR workflow

    * Install deps if no cache hit

    * enable code analysis on next branch PR

    * Update prerelease scripts

    * Remove wrong branch check

commit 0a14fe4
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Nov 9 11:40:21 2020 +0800

    v0.2.0-alpha.0

commit ea5abf5
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Nov 9 11:22:15 2020 +0800

    chore: fix type in example

commit ecbc7cd
Author: Greg Fulton <gtfullton@gmail.com>
Date:   Sun Nov 8 22:19:11 2020 -0500

    chore: minor docs updates (#129)

    * Minor docs updates

    * Revert change from 'there are' back to there're

    * Restore original text

commit 344940a
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Nov 9 11:14:32 2020 +0800

    feat: add multi-select (#138)

    * feat: add multi-select

    * chore: fix example

    * chore: temp fix examples

    * fix: example

commit 5d91220
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Nov 9 01:12:23 2020 +0800

    chore: eslint ts

commit 2ef45f9
Author: Greg Fulton <gtfullton@gmail.com>
Date:   Sun Nov 8 11:16:39 2020 -0500

    Set result[key] to null for  null / undefined prop (#128)

    Co-authored-by: fultongr <greg.fulton@saic.com>
    Co-authored-by: Prev Wong <prevwong@gmail.com>

commit 6f14f9e
Author: Prev Wong <prevwong@gmail.com>
Date:   Sun Nov 8 23:47:18 2020 +0800

    hotfix: render props.children (#130)

commit a00ef33
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri Nov 6 16:43:53 2020 +0800

    feat: normalise nodes draft (#136)

    * feat: patch listener draft

    * nit
prevwong added a commit that referenced this pull request May 22, 2021
commit 1880f86
Merge: 3dad132 f228f48
Author: Prev Wong <prevwong@gmail.com>
Date:   Sat May 22 18:52:19 2021 +0800

    Merge branch 'next' into develop

    # Conflicts:
    #	examples/basic/package.json
    #	examples/landing/package.json
    #	lerna.json
    #	packages/core/package.json
    #	packages/core/src/events/CoreEventHandlers.ts
    #	packages/core/src/events/DefaultEventHandlers.ts
    #	packages/core/src/nodes/NodeHandlers.ts
    #	packages/core/src/render/RenderNode.tsx
    #	packages/core/src/utils/Handlers.ts
    #	packages/docs/docs/concepts/user-components.md
    #	packages/docs/docs/guides/save-load.md
    #	packages/docs/versioned_docs/version-0.1.0-beta.11/concepts/user-components.md
    #	packages/docs/versioned_docs/version-0.1.0-beta.11/guides/save-load.md
    #	packages/docs/versions.json
    #	packages/examples/landing/components/editor/Viewport/index.tsx
    #	packages/layers/package.json
    #	packages/utils/package.json
    #	packages/utils/src/History.ts
    #	packages/utils/src/useMethods.ts
    #	site/docs/concepts/user-components.md
    #	site/docs/guides/basic-tutorial.md
    #	site/docs/guides/save-load.md
    #	site/package.json
    #	site/versioned_docs/version-0.1.0-beta.17/acknowledgements.md
    #	site/versioned_docs/version-0.1.0-beta.17/additional/layers.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/Editor.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/EditorState.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/Element.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/Frame.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/Node.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/NodeHelpers.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/NodeTree.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/UserComponent.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/useEditor.md
    #	site/versioned_docs/version-0.1.0-beta.17/api/useNode.md
    #	site/versioned_docs/version-0.1.0-beta.17/concepts/editor-components.md
    #	site/versioned_docs/version-0.1.0-beta.17/concepts/nodes.md
    #	site/versioned_docs/version-0.1.0-beta.17/concepts/serializing.md
    #	site/versioned_docs/version-0.1.0-beta.17/concepts/user-components.md
    #	site/versioned_docs/version-0.1.0-beta.17/dev.md
    #	site/versioned_docs/version-0.1.0-beta.17/guides/basic-tutorial.md
    #	site/versioned_docs/version-0.1.0-beta.17/guides/save-load.md
    #	site/versioned_docs/version-0.1.0-beta.17/overview.md
    #	site/versioned_sidebars/version-0.1.0-beta.17-sidebars.json
    #	yarn.lock

commit f228f48
Author: Prev Wong <prevwong@gmail.com>
Date:   Sat May 22 13:30:08 2021 +0800

    fix(layers): layer node type

commit 452ea48
Author: Prev Wong <prevwong@gmail.com>
Date:   Sat May 22 13:28:06 2021 +0800

    fix: linked node props (#245)

    * fix: persist linked node props

    * chore: update workflows

commit 45f42c5
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri May 21 18:31:58 2021 +0800

    chore: update workflows

commit bd726c7
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri May 21 16:52:59 2021 +0800

    fix: types

commit 05d27f3
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri May 21 16:49:11 2021 +0800

    chore: site nit

commit dac1d4a
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri May 21 16:41:12 2021 +0800

    chore: bump lerna

commit 23963e7
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri May 21 00:54:36 2021 +0800

    chore: lint

commit b9de63a
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri May 21 00:53:02 2021 +0800

    chore: fix deploy path

commit 3da530a
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri May 21 00:51:14 2021 +0800

    fix: missing type in UserComponentConfig

commit 0a126ac
Author: Prev Wong <prevwong@gmail.com>
Date:   Thu May 20 22:11:21 2021 +0800

    fix(landing): hover indicator

commit 2bbf2ad
Author: Prev Wong <prevwong@gmail.com>
Date:   Thu May 20 19:08:21 2021 +0800

    chore: site upgrades

    commit 4b4fb028ae67e9263e8d9cbe02612eb0aef00770
    Author: Prev Wong <prevwong@gmail.com>
    Date:   Thu May 20 19:04:02 2021 +0800

        chore: disable prerelease job

    commit 9e9f866d26d4f4531c0286bea22e6bf18bc850e0
    Author: Prev Wong <prevwong@gmail.com>
    Date:   Thu May 20 19:03:00 2021 +0800

        chore: remove deploy:staging

    commit 959977609c2e74fbd1ff833d248b0c93c447692d
    Author: Prev Wong <prevwong@gmail.com>
    Date:   Thu May 20 18:57:48 2021 +0800

        nit: ui changes

    commit 29a09763ba27c441dd3ac7c2cee7738ab37c2e63
    Author: Prev Wong <prevwong@gmail.com>
    Date:   Thu May 20 18:56:57 2021 +0800

        chore: restructure site

    commit 0c256a0e660d72a6e5c683346098ba460291e8a6
    Author: Prev Wong <prevwong@gmail.com>
    Date:   Thu May 20 16:23:58 2021 +0800

        chore: remove versioned docs

        TODO: use netlify for site versioning

    commit 76bd6644e5cc9c03ce3ca7d02031b0af551df944
    Author: Prev Wong <prevwong@gmail.com>
    Date:   Thu May 20 16:22:14 2021 +0800

        feat: site upgrades

    commit 859b4d71765d2eb4e9601e5c202e98d575ea91fd
    Author: Prev Wong <prevwong@gmail.com>
    Date:   Fri May 14 17:06:14 2021 +0800

        chore: fix dependencies

commit b61998c
Author: GitHub Action <action@github.com>
Date:   Fri May 14 09:00:48 2021 +0000

    v0.2.0-alpha.23

commit 763274c
Author: Michele Riccardo Esposito <mresposito5@gmail.com>
Date:   Fri May 14 09:54:16 2021 +0100

    feat(slate): improve speed of slate/craft integration (#241)

    * avoid applying the same actions twice

    * fix bug in acitons

commit 6c12e69
Author: GitHub Action <action@github.com>
Date:   Mon Apr 26 09:34:45 2021 +0000

    v0.2.0-alpha.22

commit 65450ea
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Apr 26 17:29:01 2021 +0800

    fix: orphaned linked nodes (#236)

commit 32e63f7
Author: GitHub Action <action@github.com>
Date:   Mon Mar 22 09:10:16 2021 +0000

    v0.2.0-alpha.21

commit 0a4c22c
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Mar 22 16:58:37 2021 +0800

    hotfix: remove deleted slate nodes

commit 7c0034c
Author: GitHub Action <action@github.com>
Date:   Mon Mar 22 04:57:18 2021 +0000

    v0.2.0-alpha.20

commit 9f7ec97
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Mar 22 12:52:27 2021 +0800

    fix: remove slate node (#217)

commit ed97520
Author: Prev Wong <prevwong@gmail.com>
Date:   Thu Mar 18 17:26:05 2021 +0800

    chore: update package.json

commit ae94c14
Author: GitHub Action <action@github.com>
Date:   Tue Mar 16 09:21:18 2021 +0000

    v0.2.0-alpha.19

commit 0d9c6e5
Author: Tim <timothychang94@gmail.com>
Date:   Tue Mar 16 05:16:42 2021 -0400

    feat: additional indicator options (#212)

commit efa0ace
Author: GitHub Action <action@github.com>
Date:   Thu Mar 11 18:44:21 2021 +0000

    v0.2.0-alpha.18

commit fb214d3
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri Mar 12 02:36:42 2021 +0800

    hotfix: migrate immer (#214)

    * fix: layers unsafe mutation

    * chore: remove immer from core

    * chore: enable immer plugins

    * chore: handle deprecation

    * fix: type

    * chore: yarn-lock

    * chore: type

    * cleanup

commit 5bd4783
Author: GitHub Action <action@github.com>
Date:   Thu Mar 11 12:44:23 2021 +0000

    v0.2.0-alpha.17

commit 3750b11
Author: Prev Wong <prevwong@gmail.com>
Date:   Thu Mar 11 20:31:03 2021 +0800

    fix: lint

commit 43a4afb
Author: Deepak Kumar Jain <deepakkj@users.noreply.github.com>
Date:   Thu Mar 11 17:34:41 2021 +0530

    chore: update immer to fix npm audit security vulnerability (#211)

    # Conflicts:
    #	yarn.lock

commit 639994c
Author: Prev Wong <prevwong@gmail.com>
Date:   Thu Mar 11 20:23:23 2021 +0800

    chore: fix lockfile

commit 0c4f4ed
Author: Andy Krings-Stern <ankri@users.noreply.github.com>
Date:   Thu Feb 18 05:39:05 2021 +0100

    test(cypress): Add integration tests (#193)

    * add cypress

    * add tests

    * make basic example testable with testids

    * update the cypress version

    * add .DS_Store to root gitignore

    * added new line

    * moved drag and drop commands to separate file

    * fix flaky test

    Co-authored-by: Prev Wong <prevwong@gmail.com>

commit 195ea30
Author: GitHub Action <action@github.com>
Date:   Thu Feb 18 04:28:57 2021 +0000

    v0.2.0-alpha.16

commit f9c2274
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Feb 15 13:16:04 2021 +0800

    fix: handlers not being disabled (#189)

commit 81bfb71
Author: Andy Krings-Stern <ankri@users.noreply.github.com>
Date:   Mon Feb 15 04:39:57 2021 +0100

    feat: Added a callback function to connectors.create to get access to the added node (#188)

    * fixed lint errors

    * added options parameter to be able to solve #152 in another PR

    * fixed test

    * changed type of required parameter

commit e924887
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri Feb 12 10:49:33 2021 +0800

    Revert "Added events.draggedOver part 2 (#184)" (#185)

    This reverts commit 3fad8a2.

commit ba4a7a2
Author: GitHub Action <action@github.com>
Date:   Thu Feb 11 19:28:53 2021 +0000

    v0.2.0-alpha.15

commit 3fad8a2
Author: Andy Krings-Stern <ankri@users.noreply.github.com>
Date:   Thu Feb 11 20:24:26 2021 +0100

    Added events.draggedOver part 2 (#184)

    This PR adds `draggedOver` to the `events`. It's almost the same as #37 but targets the `next` branch and the new EventHandlers, which also gives us a cleaner API. (#37 will be obsolete).

    Since the new EventHandlers introduced a `Set` as the store for the EventHandlers, we can now store not only the id of the node we are dragging over, but all of its ancestors, too.

    I also updated the Basic example with two different examples on how to make use of the new API.

    Closes #28, #37, #183

    ---

    The only complaint we have with the new API is the name `draggedOver`. @prevwong suggested to re-use the `hovered` event. If an element is being hovered, and the `dragged` event stores at least one nodeId, we are dragging over an element. I prefer a more explicit API over an implicit one. As a counter argument Prev suggested to make use of the `EventHelpers`.

    I, too am not a fan of the name `draggedOver` but lack the creativity to come up with a better name, but I prefer the DX of having an explicit event for dragging over elements. My argument is, that the developer could discover the API with just using code completion and without having to have a look at the documentation of `hovered` or looking at a guide / example.

    Maybe @matdru,  @mresposito or @timc1 can chime in and discus the API. Not only these guys, but everyone is welcome to leave a comment. 👍

commit c264736
Author: GitHub Action <action@github.com>
Date:   Mon Feb 8 16:16:00 2021 +0000

    v0.2.0-alpha.14

commit 964e2d3
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Feb 8 23:10:01 2021 +0800

    chore: fix draggable=true layer handlers

commit ef4a4a1
Author: Prev Wong <prevwong@gmail.com>
Date:   Sat Feb 6 19:08:19 2021 +0800

    feat: rework handlers (#178)

    - Improves and simplifies EventHandlers internal API
    - Removes hacky and unstable subscriber logic

commit 43526c8
Author: Tim <timchang.tcc@gmail.com>
Date:   Fri Feb 5 08:14:49 2021 -0500

    fix: css grid drag and drop jank (#174)

    Follow up from #151.

    This PR fixes the CSS grid drag/drop jank:

    https://user-images.githubusercontent.com/12195101/106777448-ff15df00-6612-11eb-998c-6cf5a4eaa000.mp4

commit 797007a
Author: Prev Wong <prevwong@gmail.com>
Date:   Thu Feb 4 19:44:33 2021 +0800

    chore: add kodiak

commit adbfa18
Author: GitHub Action <action@github.com>
Date:   Wed Feb 3 04:54:07 2021 +0000

    v0.2.0-alpha.13

commit 6782edf
Author: Prev Wong <prevwong@gmail.com>
Date:   Wed Feb 3 12:40:26 2021 +0800

    fix: yarn.lock

commit 9e3ece3
Author: Prev Wong <prevwong@gmail.com>
Date:   Wed Feb 3 12:21:16 2021 +0800

    chore: limit autodeploy

commit 5768b11
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 25 10:53:53 2021 +0800

    hotifx: events not defined

commit 783aae9
Author: Tim <timchang.tcc@gmail.com>
Date:   Sun Jan 24 09:40:56 2021 -0500

    feat: add grid to styleInFlow (#151)

commit 2052408
Author: Prev Wong <prevwong@gmail.com>
Date:   Sun Jan 24 22:37:21 2021 +0800

    chore: fix dependencies (#166)

    # Conflicts:
    #	packages/layers/package.json

commit 25b4a4b
Author: Prev Wong <prevwong@gmail.com>
Date:   Sun Jan 24 22:38:40 2021 +0800

    Merge branch 'nicoladefranceschi-develop' into develop

commit f86aed1
Author: Prev Wong <prevwong@gmail.com>
Date:   Sun Jan 24 17:05:09 2021 +0800

    hotfix: clear events prior to updating nodes state (#164)

commit 5229227
Author: Prev Wong <prevwong@gmail.com>
Date:   Sun Jan 24 16:56:03 2021 +0800

    chore: add netlify badge

commit 9c27936
Author: GitHub Action <action@github.com>
Date:   Thu Jan 28 10:41:06 2021 +0000

    v0.2.0-alpha.12

commit f201ddc
Author: Prev Wong <prevwong@gmail.com>
Date:   Thu Jan 28 18:37:13 2021 +0800

    fix(slate): delete orphaned nodes (#171)

commit 4d34370
Author: GitHub Action <action@github.com>
Date:   Tue Jan 26 09:14:21 2021 +0000

    v0.2.0-alpha.11

commit 9a7b3b3
Author: Prev Wong <prevwong@gmail.com>
Date:   Tue Jan 26 17:10:08 2021 +0800

    fix(slate): split operation bug (#169)

commit ca70c46
Author: GitHub Action <action@github.com>
Date:   Fri Jan 22 10:51:36 2021 +0000

    v0.2.0-alpha.10

commit 60a600a
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri Jan 22 18:47:39 2021 +0800

    fix: remove auto-add drag connector (#163)

commit 4a8126d
Author: GitHub Action <action@github.com>
Date:   Wed Jan 20 11:35:38 2021 +0000

    v0.2.0-alpha.9

commit a46ed6c
Author: Prev Wong <prevwong@gmail.com>
Date:   Wed Jan 20 19:30:40 2021 +0800

    fix: remove slate op (#162)

commit 3f086e8
Author: GitHub Action <action@github.com>
Date:   Tue Jan 12 04:20:17 2021 +0000

    v0.2.0-alpha.8

commit 58af806
Author: Prev Wong <prevwong@icloud.com>
Date:   Tue Jan 12 12:15:55 2021 +0800

    fix: slate bugs (#159)

    * fix: splitSlate

    * nit

    * feat: history merge

    * feat: useCraftStateSync history merge

    * Adds id for set_node operation

    * fix: normalization

    * chore: selection

    * nit: var name

    * chore: remove line

    Co-authored-by: Mateusz Drulis <mateusz.drulis@gmail.com>

commit f009cf0
Author: GitHub Action <action@github.com>
Date:   Tue Jan 12 03:30:39 2021 +0000

    v0.2.0-alpha.7

commit 8016b82
Author: Prev Wong <prevwong@gmail.com>
Date:   Sun Jan 10 19:36:08 2021 +0800

    feat: history merge

commit 0e1ed18
Author: GitHub Action <action@github.com>
Date:   Wed Jan 6 10:32:47 2021 +0000

    v0.2.0-alpha.6

commit 78f5898
Author: Prev Wong <prevwong@gmail.com>
Date:   Wed Jan 6 18:14:27 2021 +0800

    chore: slate npm package

commit 16cab34
Author: GitHub Action <action@github.com>
Date:   Wed Jan 6 09:55:23 2021 +0000

    v0.2.0-alpha.5

commit b94e19c
Author: Prev Wong <prevwong@gmail.com>
Date:   Wed Jan 6 17:49:53 2021 +0800

    chore: bump node version

commit e297475
Author: Prev Wong <prevwong@icloud.com>
Date:   Wed Jan 6 17:44:25 2021 +0800

    feat: add Slate integration (#148)

    * feat: add event info

    * feat: export NodeHelpers

    * feat: expose connect connector

    * feat: add slate demo

    * chore: lint

    * chore: export query

    * fix: history throttle

    * feat: refactor slate

    * fix: dbl click

    * fix: focus

    * feat: improve normalisation

    * chore: cleanup

    * chore: revert event

    * chore: remove CraftBinder

    * fix: wrapElement normalization

    * chore: move

    * fix: isCanvas craft property

    * fix: setDOM invalid node id

    * chore: export render

    * chore: cleanup history

    * chore: refactor slate

    * fix: selection

    * feat: improve normalisation

    * chore: cleanup

    * feat: sync selection

    * feat: remove invalid nodes

    * feat: normalize on state change

    * cleanup

    * fix: focus lost on split

    * fix: caret

    * chore: cleanup and improve Text

    * feat: unify slate/craft render flow

    * feat: improve node format conversion

    * fix: format + inline elements

    * feat: use slate api to retrieve text offset

    * chore: cleanup API

    * chore: useStateSync -> CraftStateSync

    * chore: cleanup focus

    * fix: perf

    * feat: update caret api

    * feat: revert state sync

    * cleanup

    * reset caret when another node is selected

    * fix: split child slate node

    * try alternative approach to selection management

    * fix: use state normalizeNodes option

    * chore: add temporary example

    * Adds list normalization check

    * Adds todo

    * fix: selection

    * fix: selection

    * fix: infinite loop

    * Adds merging of sibling Lists

    * cleanup

    * fix: selection on undo/redo

    * fix: window selection conflict

    * cleanup

    * fix: normalization + unit tests

    * feat: allow override of Element

    * feat: improve selection sync

    * chore: cleanup

    * feat: disableOnDeselect

    * fix: infinite loop

    * chore: cleanup

    * feat: improve structure

    * feat: use Leaf

    * feat: move enabled to Element

    * fix: selection

    * chore: rollup

    * chore: remove temp example

    * lint

    * remove tsconf

    * chore: cleanup

    * chore: cleanup

    * chore

    * fix: nested slate node

    * chore: export testHelpers

    * chore: cleanup structure

    * chore: bump node version

    * revert

    * chore: comments

    * chore: move slate deps as peerDeps

    Co-authored-by: Mateusz Drulis <mateusz.drulis@gmail.com>

commit 68d957c
Author: GitHub Action <action@github.com>
Date:   Wed Jan 6 09:20:11 2021 +0000

    v0.2.0-alpha.4

commit 3245fa0
Author: Prev Wong <prevwong@gmail.com>
Date:   Wed Jan 6 16:09:56 2021 +0800

    chore: bump node version

commit b61ac9f
Author: Prev Wong <prevwong@gmail.com>
Date:   Tue Jan 5 13:50:17 2021 +0800

    chore: export testHelpers

commit b52a411
Author: Prev Wong <prevwong@gmail.com>
Date:   Wed Jan 6 17:13:56 2021 +0800

    chore: update test matcher

commit d8cc3c2
Author: GitHub Action <action@github.com>
Date:   Mon Jan 4 04:52:14 2021 +0000

    v0.2.0-alpha.3

commit 2b93e2a
Merge: 2decf1b 0f46f24
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 12:43:34 2021 +0800

    Merge branch 'next' of ssh://github.com/prevwong/craft.js into next

commit 2decf1b
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 12:43:28 2021 +0800

    chore: update release script

commit 0f46f24
Author: GitHub Action <action@github.com>
Date:   Mon Jan 4 04:16:17 2021 +0000

    v0.2.0-alpha.2

commit bc4bcbd
Author: Prev Wong <prevwong@icloud.com>
Date:   Mon Jan 4 12:08:12 2021 +0800

    fix: History throttle (#157)

commit 5443af9
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 11:46:21 2021 +0800

    chore: early return setDom

commit 32f971b
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 11:47:07 2021 +0800

    chore: group connector

commit f39c660
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 11:56:46 2021 +0800

    chore: release next

commit 3213ead
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 11:51:27 2021 +0800

    chore: exports

commit 96cea61
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 11:51:14 2021 +0800

    fix: use latest normalizing function

commit ff2b3cf
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 11:48:28 2021 +0800

    feat: extend NodeElement render

commit 02d0ba6
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Jan 4 11:45:42 2021 +0800

    chore: fix type

commit f489adf
Author: GitHub Action <action@github.com>
Date:   Fri Dec 4 11:10:44 2020 +0000

    v0.2.0-alpha.1

commit 712e750
Author: Mateusz Drulis <mateusz.drulis@gmail.com>
Date:   Fri Dec 4 11:45:37 2020 +0100

    Auto pre-release for next branch (#147)

    * Adds github job to prerelease next on push

    * Adds code analysis workflow

    * Fix typo

    * Adds scaffold to PR workflow

    * Install deps if no cache hit

    * enable code analysis on next branch PR

    * Update prerelease scripts

    * Remove wrong branch check

    * Fix typo

    * Refactor next flow to use simple publish

commit 8e858a9
Author: Mateusz Drulis <mateusz.drulis@gmail.com>
Date:   Wed Nov 25 10:21:54 2020 +0100

    chore: Pre-release job - fix typo (#146)

    * Adds github job to prerelease next on push

    * Adds code analysis workflow

    * Fix typo

    * Adds scaffold to PR workflow

    * Install deps if no cache hit

    * enable code analysis on next branch PR

    * Update prerelease scripts

    * Remove wrong branch check

    * Fix typo

commit 9259bfd
Author: Mateusz Drulis <mateusz.drulis@gmail.com>
Date:   Tue Nov 24 11:27:05 2020 +0100

    chore: Adds github job to prerelease next on push (#142)

    * Adds github job to prerelease next on push

    * Adds code analysis workflow

    * Fix typo

    * Adds scaffold to PR workflow

    * Install deps if no cache hit

    * enable code analysis on next branch PR

    * Update prerelease scripts

    * Remove wrong branch check

commit 0a14fe4
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Nov 9 11:40:21 2020 +0800

    v0.2.0-alpha.0

commit ea5abf5
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Nov 9 11:22:15 2020 +0800

    chore: fix type in example

commit ecbc7cd
Author: Greg Fulton <gtfullton@gmail.com>
Date:   Sun Nov 8 22:19:11 2020 -0500

    chore: minor docs updates (#129)

    * Minor docs updates

    * Revert change from 'there are' back to there're

    * Restore original text

commit 344940a
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Nov 9 11:14:32 2020 +0800

    feat: add multi-select (#138)

    * feat: add multi-select

    * chore: fix example

    * chore: temp fix examples

    * fix: example

commit 5d91220
Author: Prev Wong <prevwong@gmail.com>
Date:   Mon Nov 9 01:12:23 2020 +0800

    chore: eslint ts

commit 2ef45f9
Author: Greg Fulton <gtfullton@gmail.com>
Date:   Sun Nov 8 11:16:39 2020 -0500

    Set result[key] to null for  null / undefined prop (#128)

    Co-authored-by: fultongr <greg.fulton@saic.com>
    Co-authored-by: Prev Wong <prevwong@gmail.com>

commit 6f14f9e
Author: Prev Wong <prevwong@gmail.com>
Date:   Sun Nov 8 23:47:18 2020 +0800

    hotfix: render props.children (#130)

commit a00ef33
Author: Prev Wong <prevwong@gmail.com>
Date:   Fri Nov 6 16:43:53 2020 +0800

    feat: normalise nodes draft (#136)

    * feat: patch listener draft

    * nit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants