@e280/sly 0.3.0-1 → 0.3.0-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -10,7 +10,7 @@ npm install lit @e280/sly @e280/strata @e280/stz
10
10
 
11
11
  [@e280](https://e280.org/)'s new [lit](https://lit.dev/)-based frontend webdev library.
12
12
 
13
- - 🍋 [**#views**](#views) — hooks-based, shadow-dom'd, template-literal'd
13
+ - 🎭 [**#views**](#views) — light-dom or shadow-dom reactive lit views
14
14
  - 🊝 [**#hooks**](#hooks) — full reference of available view hooks
15
15
  - ðŸŦ› [**#ops**](#ops) — reactive tooling for async operations
16
16
  - âģ [**#loaders**](#loaders) — animated loading spinners for rendering ops
@@ -23,12 +23,13 @@ npm install lit @e280/sly @e280/strata @e280/stz
23
23
  <br/><br/>
24
24
  <a id="views"></a>
25
25
 
26
- ## 🍋 views
27
- > *modern views.. in lightness, or darkness..*
26
+ ## 🎭 views
27
+ > *reactive views, light or shadow*
28
28
 
29
29
  - ðŸŠķ **no compile step** — just god's honest javascript, via [lit](https://lit.dev/)-html tagged-template-literals
30
30
  - ⚡ **reactive** — views auto-rerender whenever any [strata](https://github.com/e280/strata)-compatible state changes
31
- - 🊝 **hooks-based** — declarative rendering with [modern hooks](#hooks) familiar to react devs
31
+ - 🊝 **hooks-based** — familiar react-style [hooks](#hooks)
32
+ - 🌗 **light or shadow** — render directly in the dom, or inside a shadow-dom bubble
32
33
 
33
34
  ```ts
34
35
  import {html} from "lit"
@@ -58,7 +59,7 @@ export const MyShadowView = shadow(() => html`<p>shrouded in darkness</p>`)
58
59
  ```
59
60
  - **render it into the dom**
60
61
  ```ts
61
- dom.in(".demo").render(html`
62
+ dom.render(dom(".demo"), html`
62
63
  <h1>my cool counter demo</h1>
63
64
  ${MyCounter(123)}
64
65
  `)
@@ -87,14 +88,14 @@ export const MyShadowView = shadow(() => html`<p>shrouded in darkness</p>`)
87
88
  ```
88
89
  - **render it into the dom**
89
90
  ```ts
90
- dom.in(".demo").render(html`
91
+ dom.render(dom(".demo"), html`
91
92
  <h1>my cool counter demo</h1>
92
93
  ${MyShadowCounter(234)}
93
94
  `)
94
95
  ```
95
96
  - **.with to nest children or set attrs**
96
97
  ```ts
97
- dom.in(".demo").render(html`
98
+ dom.render(dom(".demo"), html`
98
99
  <h1>my cool counter demo</h1>
99
100
 
100
101
  ${MyShadowCounter.with({
@@ -106,9 +107,9 @@ export const MyShadowView = shadow(() => html`<p>shrouded in darkness</p>`)
106
107
  })}
107
108
  `)
108
109
  ```
109
- - **oh, you can do custom shadow config if needed**
110
+ - **you can do custom shadow config if needed**
110
111
  ```ts
111
- const MyCustomShadow = shadow.config(() => {
112
+ const MyShadowView = shadow.config(() => {
112
113
  const host = document.createElement("div")
113
114
  const shadow = host.attachShadow({mode: "open"})
114
115
  return {host, shadow}
@@ -661,10 +662,10 @@ import {dom} from "@e280/sly"
661
662
  ```
662
663
  or if you wanna be more loosey-goosey, skip the spec
663
664
  ```ts
664
- const a = dom.in(".demo").attrs
665
- a.strings.name = "pimsley"
666
- a.numbers.count = 125
667
- a.booleans.active = true
665
+ const {attrs} = dom.in(".demo")
666
+ attrs.strings.name = "pimsley"
667
+ attrs.numbers.count = 125
668
+ attrs.booleans.active = true
668
669
  ```
669
670
 
670
671
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e280/sly",
3
- "version": "0.3.0-1",
3
+ "version": "0.3.0-2",
4
4
  "description": "web shadow views",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -2,6 +2,6 @@
2
2
  import {dom} from "../dom/dom.js"
3
3
  import {Demo} from "./views/demo.js"
4
4
 
5
- dom.in(".demo").render(Demo())
5
+ dom.render(dom(".demo"), Demo())
6
6
  console.log("ðŸĶ sly")
7
7
 
package/s/dom/dom.ts CHANGED
@@ -11,7 +11,7 @@ import {register} from "./parts/register.js"
11
11
  import {Queryable, Renderable} from "./types.js"
12
12
  import {queryAll, queryMaybe, queryRequire} from "./parts/queries.js"
13
13
 
14
- export function dom<E extends Element>(selector: string, container: Queryable = document): E {
14
+ export function dom<E extends HTMLElement>(selector: string, container: Queryable = document) {
15
15
  return queryRequire<E>(selector, container)
16
16
  }
17
17
 
package/s/view/shadow.ts CHANGED
@@ -28,7 +28,7 @@ shadow.config = (setupFn: () => ShadowSetup) => (
28
28
  )
29
29
  )
30
30
 
31
- export function rawShadow<Props extends any[]>(
31
+ function rawShadow<Props extends any[]>(
32
32
  setup: () => ShadowSetup,
33
33
  view: View<Props>,
34
34
  ) {
@@ -1,5 +1,5 @@
1
1
  import { dom } from "../dom/dom.js";
2
2
  import { Demo } from "./views/demo.js";
3
- dom.in(".demo").render(Demo());
3
+ dom.render(dom(".demo"), Demo());
4
4
  console.log("ðŸĶ sly");
5
5
  //# sourceMappingURL=demo.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"demo.bundle.js","sourceRoot":"","sources":["../../s/demo/demo.bundle.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAA;AACjC,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAA;AAEpC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;AAC9B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA"}
1
+ {"version":3,"file":"demo.bundle.js","sourceRoot":"","sources":["../../s/demo/demo.bundle.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAA;AACjC,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAA;AAEpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;AAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA"}
@@ -90,7 +90,7 @@ div {
90
90
  align-items: center;
91
91
  gap: 1em;
92
92
  }
93
- `;y.in(".demo").render(Ye());console.log("\u{1F99D} sly");
93
+ `;y.render(y(".demo"),Ye());console.log("\u{1F99D} sly");
94
94
  /*! Bundled license information:
95
95
 
96
96
  @lit/reactive-element/css-tag.js: