# @rekajs/core

## 0.1.31

### Patch Changes

- [#161](https://github.com/prevwong/reka.js/pull/161) [`c82817e`](https://github.com/prevwong/reka.js/commit/c82817e44472801d01126670dd6aec0ab5f0cb09) Thanks [@prevwong](https://github.com/prevwong)! - Add named slots

## 0.1.30

### Patch Changes

- [`8832003`](https://github.com/prevwong/reka.js/commit/88320033ed424331a44327b0a938f0686d50b4e4) Thanks [@prevwong](https://github.com/prevwong)! - Rename root reka component template type

- [`340a234`](https://github.com/prevwong/reka.js/commit/340a234a6e515d1a793add5da041d21347464aea) Thanks [@prevwong](https://github.com/prevwong)! - Optional root template in Reka Component

- [`573f590`](https://github.com/prevwong/reka.js/commit/573f590d0e6338e0e7756e730695112422fe4ae7) Thanks [@prevwong](https://github.com/prevwong)! - Cache all views during evaluation

- [`1af2673`](https://github.com/prevwong/reka.js/commit/1af26731bab5a6d2044bf0161bd1a977cc20b01c) Thanks [@prevwong](https://github.com/prevwong)! - Add onNormalize observer hook

- [`23a5769`](https://github.com/prevwong/reka.js/commit/23a576950c3fd0b5ec74342ae866d11764c1b2a2) Thanks [@prevwong](https://github.com/prevwong)! - Get node path string

- [`30c9b3a`](https://github.com/prevwong/reka.js/commit/30c9b3aa3de8122c171acd2b5e47d81293b22d98) Thanks [@prevwong](https://github.com/prevwong)! - Implement getComponentSlots() to quickly get slots defined in a Reka Component

## 0.1.29

### Patch Changes

- [`4658b42`](https://github.com/prevwong/reka.js/commit/4658b420d796f959a388f1cb70d7e52beec45748) Thanks [@prevwong](https://github.com/prevwong)! - Fix cleanup frame APIs

- [`c5d41da`](https://github.com/prevwong/reka.js/commit/c5d41dab80495fc7d44c1525ec42bf84be4cb2bc) Thanks [@prevwong](https://github.com/prevwong)! - Fix missing return statement in history operation

- [`b319df2`](https://github.com/prevwong/reka.js/commit/b319df2b86add8270c322e89383125743dc3b98a) Thanks [@prevwong](https://github.com/prevwong)! - Reuse existing ExternalComponentView during evaluation

## 0.1.28

### Patch Changes

- [#149](https://github.com/prevwong/reka.js/pull/149) [`378baff`](https://github.com/prevwong/reka.js/commit/378baffabf59ee1eb509ebe4c9809e75ca8a3120) Thanks [@prevwong](https://github.com/prevwong)! - Ignore nullish value when evaluating repeated templates

- [`4e8b283`](https://github.com/prevwong/reka.js/commit/4e8b28321667dff9674422dde8834e4970cf0e26) Thanks [@prevwong](https://github.com/prevwong)! - Add owner property in external component view

## 0.1.27

### Patch Changes

- [#147](https://github.com/prevwong/reka.js/pull/147) [`6075dee`](https://github.com/prevwong/reka.js/commit/6075dee83626040c9cd067897d7dcf3fd97f9642) Thanks [@prevwong](https://github.com/prevwong)! - Add string type

## 0.1.26

### Patch Changes

- [#142](https://github.com/prevwong/reka.js/pull/142) [`5c258bf`](https://github.com/prevwong/reka.js/commit/5c258bf5befde5d4d5aa460f345e31ee4aff63fc) Thanks [@prevwong](https://github.com/prevwong)! - Add ability to specify computed properties on Reka data types

- [`6cca294`](https://github.com/prevwong/reka.js/commit/6cca294fab67ac19da36fe8703ca57ce6fb50b1a) Thanks [@prevwong](https://github.com/prevwong)! - Fix mobx warning when evaluating external component

- [#141](https://github.com/prevwong/reka.js/pull/141) [`a325dda`](https://github.com/prevwong/reka.js/commit/a325ddaac8942f426eef70eddcec167eb0a49918) Thanks [@prevwong](https://github.com/prevwong)! - Simplify and cleanup Observer class

- [#138](https://github.com/prevwong/reka.js/pull/138) [`7b6d6cb`](https://github.com/prevwong/reka.js/commit/7b6d6cb59d7367dae03d8fec455168ba310ca292) Thanks [@prevwong](https://github.com/prevwong)! - Implement undo/redo

- [`6306de6`](https://github.com/prevwong/reka.js/commit/6306de6ab030a61eddfbd16ab0d11bf1d156d2ef) Thanks [@prevwong](https://github.com/prevwong)! - Add computed component property in evaluator

## 0.1.25

### Patch Changes

- [#118](https://github.com/prevwong/reka.js/pull/118) [`52c4c8d`](https://github.com/prevwong/reka.js/commit/52c4c8d81073c7f20eb8c3910f171817a23064ab) Thanks [@prevwong](https://github.com/prevwong)! - Add ability to specify custom kinds

- [#119](https://github.com/prevwong/reka.js/pull/119) [`d6016e1`](https://github.com/prevwong/reka.js/commit/d6016e1fe09f87b59fe512b7d5539cad5a88c9a7) Thanks [@prevwong](https://github.com/prevwong)! - Show error view when a template references a component that has been removed

## 0.1.24

### Patch Changes

- [`f477ae6`](https://github.com/prevwong/reka.js/commit/f477ae6f9af3990f23d22feb2234dd80bdb8afd4) Thanks [@prevwong](https://github.com/prevwong)! - Fix prop binding callback function cache

## 0.1.23

### Patch Changes

- [#113](https://github.com/prevwong/reka.js/pull/113) [`914c0a2`](https://github.com/prevwong/reka.js/commit/914c0a2414e40e423dacb0dc2191b2896270a61f) Thanks [@prevwong](https://github.com/prevwong)! - Requires component props to explicitly specify that they can be bindable

## 0.1.22

### Patch Changes

- [#109](https://github.com/prevwong/reka.js/pull/109) [`e76ffc3`](https://github.com/prevwong/reka.js/commit/e76ffc36b68b015636f920783ea4a4909d9fd77d) Thanks [@prevwong](https://github.com/prevwong)! - Cache root template in component evaluation

- [`c9cd8b5`](https://github.com/prevwong/reka.js/commit/c9cd8b5ce64922e91a85e001fa62305e964ec5d6) Thanks [@prevwong](https://github.com/prevwong)! - Remove lodash dep

- [#111](https://github.com/prevwong/reka.js/pull/111) [`b54562e`](https://github.com/prevwong/reka.js/commit/b54562e0e6a5737a04ca907dad36ce65048cc568) Thanks [@prevwong](https://github.com/prevwong)! - Enable component prop bindings

- [#112](https://github.com/prevwong/reka.js/pull/112) [`e2f00d4`](https://github.com/prevwong/reka.js/commit/e2f00d45d01f633fce9477505706f5689baf2326) Thanks [@prevwong](https://github.com/prevwong)! - Require prop definition for External Components
  Support 2 way bindings and classlist directives in External Components
- Updated dependencies [[`c9cd8b5`](https://github.com/prevwong/reka.js/commit/c9cd8b5ce64922e91a85e001fa62305e964ec5d6)]:
  - @rekajs/utils@0.1.3

## 0.1.21

### Patch Changes

- [#107](https://github.com/prevwong/reka.js/pull/107) [`6157637`](https://github.com/prevwong/reka.js/commit/6157637bef2addd34c330989e76d4bf432ad5d01) Thanks [@prevwong](https://github.com/prevwong)! - Fix params in function AST nodes

- [#100](https://github.com/prevwong/reka.js/pull/100) [`5d934d0`](https://github.com/prevwong/reka.js/commit/5d934d07a9408f7ff7c47a24e96b6863a69540f6) Thanks [@prevwong](https://github.com/prevwong)! - Fix resolve variables inside function statements

- [#106](https://github.com/prevwong/reka.js/pull/106) [`377b50e`](https://github.com/prevwong/reka.js/commit/377b50ec65328cbf429a3fdc640a1c296ee77f8d) Thanks [@prevwong](https://github.com/prevwong)! - Support unary expressions

## 0.1.20

### Patch Changes

- [#98](https://github.com/prevwong/reka.js/pull/98) [`06e2931`](https://github.com/prevwong/reka.js/commit/06e293134709607ab281fd32fdff981cf7418c49) Thanks [@prevwong](https://github.com/prevwong)! - Fix assignment op on member expressions

- [#64](https://github.com/prevwong/reka.js/pull/64) [`ceca2c7`](https://github.com/prevwong/reka.js/commit/ceca2c7774c8c8127e0502178037b3fe209c56ee) Thanks [@prevwong](https://github.com/prevwong)! - Improve variables types subclassing

- [#97](https://github.com/prevwong/reka.js/pull/97) [`6e72de6`](https://github.com/prevwong/reka.js/commit/6e72de6e516330a079f3334bc3e1e86eaa3cd55f) Thanks [@prevwong](https://github.com/prevwong)! - Fix call expression arguments definition

- [#92](https://github.com/prevwong/reka.js/pull/92) [`6e9a337`](https://github.com/prevwong/reka.js/commit/6e9a337ef9bd95e25ccfae9fcb1756e512cdda9f) Thanks [@prevwong](https://github.com/prevwong)! - Support logical expressions

## 0.1.19

### Patch Changes

- [#75](https://github.com/prevwong/reka.js/pull/75) [`3493275`](https://github.com/prevwong/reka.js/commit/349327518010e3e7c3389dd40f38fd32b2ae4bd3) Thanks [@def-roth](https://github.com/def-roth)! - Add missing binary operators in evaluator

- [#85](https://github.com/prevwong/reka.js/pull/85) [`66fa530`](https://github.com/prevwong/reka.js/commit/66fa5305446b56ce0fd69f2bcd95650a69c5d327) Thanks [@prevwong](https://github.com/prevwong)! - Improve member expression type and enable assignments on member expressions

- [#81](https://github.com/prevwong/reka.js/pull/81) [`e261648`](https://github.com/prevwong/reka.js/commit/e261648de3ff8b2434e8dac1013a14adb4b5d55b) Thanks [@prevwong](https://github.com/prevwong)! - Fix member expression property

- [#79](https://github.com/prevwong/reka.js/pull/79) [`81a7f6d`](https://github.com/prevwong/reka.js/commit/81a7f6d3d78a9043a7cd3febf38b24cec637fb29) Thanks [@prevwong](https://github.com/prevwong)! - Add missing operators in types definition

## 0.1.18

### Patch Changes

- [#68](https://github.com/prevwong/reka.js/pull/68) [`5d73463`](https://github.com/prevwong/reka.js/commit/5d7346344312f66a72c86d1f277cb147948bca40) Thanks [@prevwong](https://github.com/prevwong)! - Fix scope cache

## 0.1.17

### Patch Changes

- [#61](https://github.com/prevwong/reka.js/pull/61) [`aa27d49`](https://github.com/prevwong/reka.js/commit/aa27d49b92f9d28ca383b22220fb52943a2a1e44) Thanks [@ryanburns23](https://github.com/ryanburns23)! - Add ability to evaluate frames immediately on load (#60)

## 0.1.16

### Patch Changes

- [#57](https://github.com/prevwong/reka.js/pull/57) [`417fc28`](https://github.com/prevwong/reka.js/commit/417fc282d49ce9687fdf367b63532c6083b46dbc) Thanks [@prevwong](https://github.com/prevwong)! - Add ability to find variables by scope

## 0.1.15

### Patch Changes

- [`460726f`](https://github.com/prevwong/reka.js/commit/460726f8fdf0274df3bbb1765fed436fb5cb81d2) Thanks [@prevwong](https://github.com/prevwong)! - Prevent component evaluation from being disposed when component template order is changed

## 0.1.14

### Patch Changes

- [`daff79c`](https://github.com/prevwong/reka.js/commit/daff79ccbeaf47406a678096c8d9220371d80c1e) Thanks [@prevwong](https://github.com/prevwong)! - Hotfix: don't include volatile state in serialisation

## 0.1.13

### Patch Changes

- [#53](https://github.com/prevwong/reka.js/pull/53) [`59fad5e`](https://github.com/prevwong/reka.js/commit/59fad5eb1e3047b36e2fdb86449ba7d6ef12c4f0) Thanks [@prevwong](https://github.com/prevwong)! - Fix cyclic component reference

- [`d1e8254`](https://github.com/prevwong/reka.js/commit/d1e8254ac84669601324ca806f7aea62f3de034b) Thanks [@prevwong](https://github.com/prevwong)! - Prevent computing view when disposed

- [`b3124f7`](https://github.com/prevwong/reka.js/commit/b3124f7c3ded4d6a0dfa4601854c559ae15bb7ee) Thanks [@prevwong](https://github.com/prevwong)! - Simplify volatile state definition

- [`e972aba`](https://github.com/prevwong/reka.js/commit/e972aba02ca943e3d2d17b5fe5db788fcc251b05) Thanks [@prevwong](https://github.com/prevwong)! - Add ability to create cached query callbacks

## 0.1.12

### Patch Changes

- [#49](https://github.com/prevwong/reka.js/pull/49) [`885d8ba`](https://github.com/prevwong/reka.js/commit/885d8ba53cd33afdb395afb73ef373a8a1a04af6) Thanks [@prevwong](https://github.com/prevwong)! - Fix variable references in initial state value

- [#50](https://github.com/prevwong/reka.js/pull/50) [`fc80ffe`](https://github.com/prevwong/reka.js/commit/fc80ffe21598ef06b0e3c36c2362be3a2d227a2a) Thanks [@prevwong](https://github.com/prevwong)! - Prevent out of scope variable reference

- [`e4ee083`](https://github.com/prevwong/reka.js/commit/e4ee0838f55d526874cd318e42da860b744f7cf8) Thanks [@prevwong](https://github.com/prevwong)! - Ignore observing owner property in output View

- [`d784d9d`](https://github.com/prevwong/reka.js/commit/d784d9d46e994637680dbd1c7ba0eed764ebc6fd) Thanks [@prevwong](https://github.com/prevwong)! - Add ability to define temporary/volatile stateful values

## 0.1.11

### Patch Changes

- [`78914f0`](https://github.com/prevwong/reka.js/commit/78914f0cd0b838ce827a06e4dcb7dabf7c5c4098) Thanks [@prevwong](https://github.com/prevwong)! - Group Tag/Component templates as SlottableTemplate

- [`7147a18`](https://github.com/prevwong/reka.js/commit/7147a18286c76079d41b0d6be071974592dba15a) Thanks [@prevwong](https://github.com/prevwong)! - Fix update parent path on Type upate

## 0.1.10

### Patch Changes

- [`2426fcf`](https://github.com/prevwong/reka.js/commit/2426fcfdb4bfdd03220848fffed1e510d4bf5709) Thanks [@prevwong](https://github.com/prevwong)! - Add change listener for Frame's view

- [`9030907`](https://github.com/prevwong/reka.js/commit/90309072aadb55070fe3d7255dfcb54e5e22b9fd) Thanks [@prevwong](https://github.com/prevwong)! - Fix notification on view disposal

## 0.1.9

### Patch Changes

- [`c84d9c0`](https://github.com/prevwong/reka.js/commit/c84d9c05b2483ae0a30f1a3153364d7aeb0324e9) Thanks [@prevwong](https://github.com/prevwong)! - Add getParentView method in Frame

## 0.1.8

### Patch Changes

- [#34](https://github.com/prevwong/reka.js/pull/34) [`de97826`](https://github.com/prevwong/reka.js/commit/de97826222f7006d1b0e84c51244fbfe9e434d4f) Thanks [@prevwong](https://github.com/prevwong)! - Fix template slots not passing through ExternalComponents

- [`6f81ace`](https://github.com/prevwong/reka.js/commit/6f81ace1ea03b97ef7486b7441112a9772ea2dff) Thanks [@prevwong](https://github.com/prevwong)! - Fix subscriber type

## 0.1.7

### Patch Changes

- [`5609f03`](https://github.com/prevwong/reka.js/commit/5609f03230775420b537f73b89a8a56745225053) Thanks [@prevwong](https://github.com/prevwong)! - Persist reactivity in .subscribe method

## 0.1.6

### Patch Changes

- [`ee5ad86`](https://github.com/prevwong/reka.js/commit/ee5ad8618d608280232722f62ef699c3c8ccdba8) Thanks [@prevwong](https://github.com/prevwong)! - Autogenerate frame id by default

- [`6986c1d`](https://github.com/prevwong/reka.js/commit/6986c1d7ed2e7cd81a0eaef09d6655e92d4caf52) Thanks [@prevwong](https://github.com/prevwong)! - Export ChangeListenerPayload type

- [`125a014`](https://github.com/prevwong/reka.js/commit/125a01474a90a07d40b1539293344d8e8e3fa461) Thanks [@prevwong](https://github.com/prevwong)! - Include frame id in output View

- [#25](https://github.com/prevwong/reka.js/pull/25) [`962f75a`](https://github.com/prevwong/reka.js/commit/962f75aa4e5ed4efdff72ddc0ac3744727fdd7f5) Thanks [@prevwong](https://github.com/prevwong)! - Add owner in View

## 0.1.5

### Patch Changes

- [`c1aba8e`](https://github.com/prevwong/reka.js/commit/c1aba8ee761cc4969a18817289604392504cb5ed) Thanks [@prevwong](https://github.com/prevwong)! - Fix memory leaks

- [`2203e89`](https://github.com/prevwong/reka.js/commit/2203e8956b9f26c49bedabc3b6a4b8180a449be0) Thanks [@prevwong](https://github.com/prevwong)! - Update Extension type

- [`61435db`](https://github.com/prevwong/reka.js/commit/61435dbfb88326eabe7857e43318a45459b08343) Thanks [@prevwong](https://github.com/prevwong)! - Inject package version to browser window

- Updated dependencies [[`61435db`](https://github.com/prevwong/reka.js/commit/61435dbfb88326eabe7857e43318a45459b08343)]:
  - @rekajs/utils@0.1.2

## 0.1.4

### Patch Changes

- [`b5aec26`](https://github.com/prevwong/reka.js/commit/b5aec26d55685cbc3ade66a16413ef7bf3f46e4a) Thanks [@prevwong](https://github.com/prevwong)! - Add CJS bundle

- Updated dependencies [[`b5aec26`](https://github.com/prevwong/reka.js/commit/b5aec26d55685cbc3ade66a16413ef7bf3f46e4a)]:
  - @rekajs/utils@0.1.1

## 0.1.3

### Patch Changes

- [`1cc0cfb`](https://github.com/prevwong/reka.js/commit/1cc0cfb19cf75f55bc61ba06d6b9b32e503d13f6) Thanks [@prevwong](https://github.com/prevwong)! - Remove unnecessary options for `reka.watch()`

- [`ea0a075`](https://github.com/prevwong/reka.js/commit/ea0a075059557a7143ffeae7edb632856896f137) Thanks [@prevwong](https://github.com/prevwong)! - Fix `@each` directive bugs

- [`d8cc124`](https://github.com/prevwong/reka.js/commit/d8cc124df6ec9836d996b9eb533fa6b180197e83) Thanks [@prevwong](https://github.com/prevwong)! - Fix `Observer` not automatically transforming newly inserted `Type` into Mobx observables.

  For example, given the following template where `each` is initially null:

  ```tsx
  const template = t.tagTemplate({
    tag: 'div',
    props: {},
    children: [],
    each: null,
  });
  ```

  Then, if we were to set `each` to a new `ElementEach` type object:

  ```tsx
  template.each = t.elementEach({
      ...
  })
  ```

  The above `ElementEach` should automatically be made into a Mobx observable.

## 0.1.2

### Patch Changes

- [#13](https://github.com/prevwong/reka.js/pull/13) [`dd95dd2`](https://github.com/prevwong/reka.js/commit/dd95dd26784147dacdb6feb5cff421da7b53021e) Thanks [@prevwong](https://github.com/prevwong)! - Fix classlist not cascading to components

- [`1fcfc21`](https://github.com/prevwong/reka.js/commit/1fcfc2155c15c4038fbdbf90167460cff8ab9fc5) Thanks [@prevwong](https://github.com/prevwong)! - Add `DisposableComputation` to dispose keepAlive computed values to prevent memory leaks.

- [#15](https://github.com/prevwong/reka.js/pull/15) [`170c6e3`](https://github.com/prevwong/reka.js/commit/170c6e32842c56d20c09d675b33e7b5cf4e11fb9) Thanks [@prevwong](https://github.com/prevwong)! - Rename External Globals => External Functions

## 0.1.1

### Patch Changes

- da3c4c8: fix: peer deps
  fix: ts error
  fix: sync on update frame props
  feat: improve environment store (#7)
  fix: add missing function scope
  fix: ensure mutations happen within .change() callback
  feat: catch side effect error
  feat: improved externals separation (#6)
  hotfix: alias variable in element @each directive
  feat: support expressions as template iterator (#5)
  fix: add error boundary for invalid iterator (#4)
  fix: resolver cleanup deleted global bindings (#3)
  fix: stringify each template directive (#1)

## 0.1.0

### Patch Changes

- bcdb728: - Improved APIs and better typings
  - Separate shared utils package
  - Update Lezer grammer for Codemirror Extension
- Updated dependencies [bcdb728]
  - @rekajs/types@0.1.0
  - @rekajs/utils@0.1.0
