@e280/sly 0.1.1 → 0.2.0-1

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.
Files changed (44) hide show
  1. package/README.md +110 -81
  2. package/package.json +4 -4
  3. package/s/demo/demo.bundle.ts +3 -3
  4. package/s/demo/views/counter.ts +14 -7
  5. package/s/demo/views/demo.ts +1 -1
  6. package/s/dom/dom.ts +51 -0
  7. package/s/dom/types.ts +3 -0
  8. package/s/index.ts +0 -1
  9. package/s/ops/loaders/parts/ascii-anim.ts +3 -3
  10. package/s/ops/op.ts +10 -10
  11. package/s/views/types.ts +10 -7
  12. package/s/views/use.ts +21 -3
  13. package/s/views/view.ts +49 -34
  14. package/x/demo/demo.bundle.js +3 -3
  15. package/x/demo/demo.bundle.js.map +1 -1
  16. package/x/demo/demo.bundle.min.js +22 -17
  17. package/x/demo/demo.bundle.min.js.map +4 -4
  18. package/x/demo/views/counter.js +13 -6
  19. package/x/demo/views/counter.js.map +1 -1
  20. package/x/demo/views/demo.js +1 -1
  21. package/x/demo/views/demo.js.map +1 -1
  22. package/x/dom/dom.d.ts +21 -0
  23. package/x/dom/dom.js +41 -0
  24. package/x/dom/dom.js.map +1 -0
  25. package/x/dom/types.d.ts +2 -0
  26. package/x/index.d.ts +0 -1
  27. package/x/index.html +2 -2
  28. package/x/index.js +0 -1
  29. package/x/index.js.map +1 -1
  30. package/x/ops/loaders/parts/ascii-anim.js +3 -3
  31. package/x/ops/loaders/parts/ascii-anim.js.map +1 -1
  32. package/x/ops/op.js +10 -10
  33. package/x/ops/op.js.map +1 -1
  34. package/x/views/types.d.ts +9 -7
  35. package/x/views/use.d.ts +8 -1
  36. package/x/views/use.js +18 -2
  37. package/x/views/use.js.map +1 -1
  38. package/x/views/view.d.ts +1 -1
  39. package/x/views/view.js +44 -34
  40. package/x/views/view.js.map +1 -1
  41. package/s/dom/dollar.ts +0 -27
  42. package/x/dom/dollar.d.ts +0 -10
  43. package/x/dom/dollar.js +0 -18
  44. package/x/dom/dollar.js.map +0 -1
@@ -5,21 +5,28 @@ import { cssReset } from "../../views/css-reset.js";
5
5
  export const CounterView = view(use => (initial) => {
6
6
  use.name("counter");
7
7
  use.styles(cssReset, styles);
8
+ const $seconds = use.signal(0);
8
9
  const start = use.once(() => Date.now());
9
- const seconds = use.signal(0);
10
10
  use.mount(() => repeat(async () => {
11
11
  const since = Date.now() - start;
12
- seconds(Math.floor(since / 1000));
12
+ $seconds.set(Math.floor(since / 1000));
13
13
  }));
14
- const count = use.signal(initial);
15
- const increment = () => count(count() + 1);
14
+ const $count = use.signal(initial);
15
+ const increment = () => $count.value++;
16
+ const $product = use.signal
17
+ .derive(() => $count() * $seconds());
16
18
  return html `
17
19
  <slot></slot>
18
20
  <div>
19
- <span>${seconds()}</span>
21
+ <span>${$seconds.get()}</span>
22
+ </div>
23
+ <div>
24
+ <span>${$count.get()}</span>
25
+ </div>
26
+ <div>
27
+ <span>${$product.get()}</span>
20
28
  </div>
21
29
  <div>
22
- <span>${count()}</span>
23
30
  <button @click="${increment}">+</button>
24
31
  </div>
25
32
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"counter.js","sourceRoot":"","sources":["../../../s/demo/views/counter.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAA;AAC7B,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAA;AACxC,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AAEjD,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAe,EAAE,EAAE;IAC1D,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnB,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAE5B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAE7B,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,IAAG,EAAE;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;QAChC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAA;IAClC,CAAC,CAAC,CAAC,CAAA;IAEH,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACjC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;IAE1C,OAAO,IAAI,CAAA;;;WAGD,OAAO,EAAE;;;WAGT,KAAK,EAAE;qBACG,SAAS;;EAE5B,CAAA;AACF,CAAC,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;CAUjB,CAAA"}
1
+ {"version":3,"file":"counter.js","sourceRoot":"","sources":["../../../s/demo/views/counter.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAA;AAC7B,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAA;AACxC,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AAEjD,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAe,EAAE,EAAE;IAC1D,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnB,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAE5B,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACxC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,IAAG,EAAE;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;QAChC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,CAAC,CAAA;IAEH,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAClC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IAEtC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM;SACzB,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAA;IAErC,OAAO,IAAI,CAAA;;;WAGD,QAAQ,CAAC,GAAG,EAAE;;;WAGd,MAAM,CAAC,GAAG,EAAE;;;WAGZ,QAAQ,CAAC,GAAG,EAAE;;;qBAGJ,SAAS;;EAE5B,CAAA;AACF,CAAC,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;CAUjB,CAAA"}
@@ -7,7 +7,7 @@ export const DemoView = view(use => () => {
7
7
  use.name("demo");
8
8
  use.styles(cssReset, styles);
9
9
  return html `
10
- ${CounterView.children("view")(2)}
10
+ ${CounterView.props(2).children("view").render()}
11
11
  ${LoadersView()}
12
12
  `;
13
13
  });
@@ -1 +1 @@
1
- {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../../s/demo/views/demo.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAA;AAC7B,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAA;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AACxC,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AAEjD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE;IACxC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAChB,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAE5B,OAAO,IAAI,CAAA;IACR,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE;EACf,CAAA;AACF,CAAC,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;CAMjB,CAAA"}
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../../s/demo/views/demo.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAA;AAC7B,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAA;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AACxC,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AAEjD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE;IACxC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAChB,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAE5B,OAAO,IAAI,CAAA;IACR,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;IAC9C,WAAW,EAAE;EACf,CAAA;AACF,CAAC,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;CAMjB,CAAA"}
package/x/dom/dom.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ import { Content } from "../views/types.js";
2
+ import { Queryable, Renderable } from "./types.js";
3
+ export declare class Dom<C extends Queryable> {
4
+ element: C;
5
+ constructor(element: C);
6
+ in<E extends HTMLElement>(elementOrSelector: E | string): Dom<E>;
7
+ require<E extends Element = HTMLElement>(selector: string): E;
8
+ maybe<E extends Element = HTMLElement>(selector: string): E | null;
9
+ all<E extends Element = HTMLElement>(selector: string): E[];
10
+ render(...content: Content[]): import("lit-html").RootPart;
11
+ }
12
+ export declare function dom(selector: string): HTMLElement;
13
+ export declare namespace dom {
14
+ export var register: typeof import("./register.js").register;
15
+ export var render: (container: Renderable, ...content: Content[]) => import("lit-html").RootPart;
16
+ var _a: <E extends HTMLElement>(elementOrSelector: string | E) => Dom<E>;
17
+ export var require: <E extends Element = HTMLElement>(selector: string) => E;
18
+ export var maybe: <E extends Element = HTMLElement>(selector: string) => E | null;
19
+ export var all: <E extends Element = HTMLElement>(selector: string) => E[];
20
+ export { _a as in };
21
+ }
package/x/dom/dom.js ADDED
@@ -0,0 +1,41 @@
1
+ import { render } from "lit";
2
+ import { register } from "./register.js";
3
+ export class Dom {
4
+ element;
5
+ constructor(element) {
6
+ this.element = element;
7
+ }
8
+ in(elementOrSelector) {
9
+ return new Dom(typeof elementOrSelector === "string"
10
+ ? this.require(elementOrSelector)
11
+ : elementOrSelector);
12
+ }
13
+ require(selector) {
14
+ const e = this.element.querySelector(selector);
15
+ if (!e)
16
+ throw new Error(`$1 ${selector} not found`);
17
+ return e;
18
+ }
19
+ maybe(selector) {
20
+ return this.element.querySelector(selector);
21
+ }
22
+ all(selector) {
23
+ return Array.from(this.element.querySelectorAll(selector));
24
+ }
25
+ render(...content) {
26
+ return render(content, this.element);
27
+ }
28
+ }
29
+ export function dom(selector) {
30
+ return new Dom(document).require(selector);
31
+ }
32
+ const doc = new Dom(document);
33
+ dom.register = register;
34
+ dom.render = (container, ...content) => {
35
+ return render(content, container);
36
+ };
37
+ dom.in = doc.in.bind(doc);
38
+ dom.require = doc.require.bind(doc);
39
+ dom.maybe = doc.maybe.bind(doc);
40
+ dom.all = doc.all.bind(doc);
41
+ //# sourceMappingURL=dom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../s/dom/dom.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AAItC,MAAM,OAAO,GAAG;IACI;IAAnB,YAAmB,OAAU;QAAV,YAAO,GAAP,OAAO,CAAG;IAAG,CAAC;IAEjC,EAAE,CAAwB,iBAA6B;QACtD,OAAO,IAAI,GAAG,CACb,OAAO,iBAAiB,KAAK,QAAQ;YACpC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAI,iBAAiB,CAAC;YACpC,CAAC,CAAC,iBAAiB,CACpB,CAAA;IACF,CAAC;IAED,OAAO,CAAkC,QAAgB;QACxD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAI,QAAQ,CAAC,CAAA;QACjD,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,MAAM,QAAQ,YAAY,CAAC,CAAA;QACnD,OAAO,CAAC,CAAA;IACT,CAAC;IAED,KAAK,CAAkC,QAAgB;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAI,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,GAAG,CAAkC,QAAgB;QACpD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAI,QAAQ,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,CAAC,GAAG,OAAkB;QAC3B,OAAO,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAqB,CAAC,CAAA;IACnD,CAAC;CACD;AAED,MAAM,UAAU,GAAG,CAAC,QAAgB;IACnC,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC7B,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;AACvB,GAAG,CAAC,MAAM,GAAG,CAAC,SAAqB,EAAE,GAAG,OAAkB,EAAE,EAAE;IAC7D,OAAO,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACzB,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACnC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC/B,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA"}
package/x/dom/types.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ export type Renderable = HTMLElement | ShadowRoot | DocumentFragment;
2
+ export type Queryable = HTMLElement | ShadowRoot | Element | Document | DocumentFragment;
1
3
  export type HTMLElementClasses = {
2
4
  [key: string]: {
3
5
  new (...args: any[]): HTMLElement;
package/x/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from "./dom/dashify.js";
2
- export * from "./dom/dollar.js";
3
2
  export * from "./dom/register.js";
4
3
  export * from "./dom/types.js";
5
4
  export * from "./ops/loaders/make-loader.js";
package/x/index.html CHANGED
@@ -111,7 +111,7 @@ body {
111
111
  }
112
112
 
113
113
  </style>
114
- <script type=module src="demo/demo.bundle.min.js?v=a1262969ad32"></script>
114
+ <script type=module src="demo/demo.bundle.min.js?v=c6f94fbdccdb"></script>
115
115
  <link rel="icon" href="assets/favicon.png?v=4dc161ed79b3"/>
116
116
 
117
117
  <meta name="theme-color" content="#95ff7b">
@@ -131,7 +131,7 @@ body {
131
131
  <img class=icon alt="" src="/assets/favicon.png"/>
132
132
  <h1>sly testing page</h1>
133
133
  <p><a href="https://github.com/e280/sly">github.com/e280/sly</a></p>
134
- <p class=lil>v0.1.1</p>
134
+ <p class=lil>v0.2.0-1</p>
135
135
  <demo-counter>component</demo-counter>
136
136
  <div class=demo></div>
137
137
 
package/x/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from "./dom/dashify.js";
2
- export * from "./dom/dollar.js";
3
2
  export * from "./dom/register.js";
4
3
  export * from "./dom/types.js";
5
4
  export * from "./ops/loaders/make-loader.js";
package/x/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAE9B,cAAc,8BAA8B,CAAA;AAC5C,cAAc,mCAAmC,CAAA;AACjD,cAAc,sCAAsC,CAAA;AAEpD,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAE9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAE9B,cAAc,8BAA8B,CAAA;AAC5C,cAAc,mCAAmC,CAAA;AACjD,cAAc,sCAAsC,CAAA;AAEpD,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAE9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA"}
@@ -11,10 +11,10 @@ export const AsciiAnim = view(use => ({ hz, frames }) => {
11
11
  const frame = use.signal(0);
12
12
  use.mount(() => repeat(async () => {
13
13
  await nap(1000 / hz);
14
- const next = frame() + 1;
15
- frame(next >= frames.length ? 0 : next);
14
+ const next = frame.get() + 1;
15
+ frame.set(next >= frames.length ? 0 : next);
16
16
  }));
17
- return frames.at(frame());
17
+ return frames.at(frame.get());
18
18
  });
19
19
  const style = css `
20
20
  :host {
@@ -1 +1 @@
1
- {"version":3,"file":"ascii-anim.js","sourceRoot":"","sources":["../../../../s/ops/loaders/parts/ascii-anim.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAA;AACvB,OAAO,EAAC,GAAG,EAAE,MAAM,EAAC,MAAM,WAAW,CAAA;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAA;AAE3C,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAA;AAEpD,MAAM,UAAU,aAAa,CAAC,EAAU,EAAE,MAAgB;IACzD,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,EAAC,EAAE,EAAE,MAAM,EAAC,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAC,EAAE,EAAE,MAAM,EAG/C,EAAE,EAAE;IAEL,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnB,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAE3B,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,IAAG,EAAE;QAChC,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;QACpB,MAAM,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,CAAA;QACxB,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC,CAAC,CAAC,CAAA;IAEH,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAA;AAC1B,CAAC,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;CAMhB,CAAA"}
1
+ {"version":3,"file":"ascii-anim.js","sourceRoot":"","sources":["../../../../s/ops/loaders/parts/ascii-anim.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAA;AACvB,OAAO,EAAC,GAAG,EAAE,MAAM,EAAC,MAAM,WAAW,CAAA;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAA;AAE3C,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAA;AAEpD,MAAM,UAAU,aAAa,CAAC,EAAU,EAAE,MAAgB;IACzD,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,EAAC,EAAE,EAAE,MAAM,EAAC,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAC,EAAE,EAAE,MAAM,EAG/C,EAAE,EAAE;IAEL,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnB,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAE3B,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,IAAG,EAAE;QAChC,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;QACpB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC5B,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAC,CAAA;IAEH,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;AAC9B,CAAC,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;CAMhB,CAAA"}
package/x/ops/op.js CHANGED
@@ -34,14 +34,14 @@ export class Op {
34
34
  get catch() { return this.wait.catch.bind(this.wait); }
35
35
  get finally() { return this.wait.finally.bind(this.wait); }
36
36
  async setLoading() {
37
- await this.signal(["loading"]);
37
+ await this.signal.set(["loading"]);
38
38
  }
39
39
  async setReady(value) {
40
- await this.signal(["ready", value]);
40
+ await this.signal.set(["ready", value]);
41
41
  await this.#resolve(value);
42
42
  }
43
43
  async setError(error) {
44
- await this.signal(["error", error]);
44
+ await this.signal.set(["error", error]);
45
45
  await this.#reject(error);
46
46
  }
47
47
  async promise(promise) {
@@ -62,19 +62,19 @@ export class Op {
62
62
  return this.promise(fn());
63
63
  }
64
64
  get pod() {
65
- return this.signal();
65
+ return this.signal.get();
66
66
  }
67
67
  set pod(p) {
68
- this.signal(p);
68
+ this.signal.set(p);
69
69
  }
70
70
  get status() {
71
- return this.signal()[0];
71
+ return this.signal.get()[0];
72
72
  }
73
73
  get value() {
74
- return podium.value(this.signal());
74
+ return podium.value(this.signal.get());
75
75
  }
76
76
  get error() {
77
- return podium.error(this.signal());
77
+ return podium.error(this.signal.get());
78
78
  }
79
79
  get isLoading() {
80
80
  return this.status === "loading";
@@ -86,13 +86,13 @@ export class Op {
86
86
  return this.status === "error";
87
87
  }
88
88
  require() {
89
- const pod = this.signal();
89
+ const pod = this.signal.get();
90
90
  if (pod[0] !== "ready")
91
91
  throw new Error("required value not ready");
92
92
  return pod[1];
93
93
  }
94
94
  select(select) {
95
- return podium.select(this.signal(), select);
95
+ return podium.select(this.signal.get(), select);
96
96
  }
97
97
  morph(fn) {
98
98
  return podium.morph(this.pod, fn);
package/x/ops/op.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"op.js","sourceRoot":"","sources":["../../s/ops/op.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"op.js","sourceRoot":"","sources":["../../s/ops/op.ts"],"names":[],"mappings":"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"}
@@ -11,11 +11,7 @@ export type ComponentFn = (use: Use) => Content;
11
11
  export type ViewFn<Props extends any[]> = (use: Use) => (...props: Props) => Content;
12
12
  export type BasicView<Props extends any[]> = (...props: Props) => DirectiveResult<any>;
13
13
  export type View<Props extends any[]> = BasicView<Props> & {
14
- props: View<Props>;
15
- with: (w: Partial<ViewWith>) => View<Props>;
16
- children: (...children: Content[]) => View<Props>;
17
- attrs: (attrs: Record<string, AttrValue>) => View<Props>;
18
- attr: (name: string, value: AttrValue) => View<Props>;
14
+ props: (...props: Props) => ViewChain;
19
15
  component: (...props: Props) => Constructor<Component>;
20
16
  };
21
17
  export type ViewSettings = ShadowRootInit & {
@@ -23,7 +19,13 @@ export type ViewSettings = ShadowRootInit & {
23
19
  name?: string;
24
20
  styles?: CSSResultGroup;
25
21
  };
26
- export type ViewWith = {
27
- children: Content;
22
+ export type ViewChain = {
23
+ children(...c: Content[]): ViewChain;
24
+ attrs(a: Record<string, AttrValue>): ViewChain;
25
+ attr(n: string, v: AttrValue): ViewChain;
26
+ render(): DirectiveResult<any>;
27
+ };
28
+ export type ViewContext = {
29
+ children: Content[];
28
30
  attrs: Record<string, AttrValue>;
29
31
  };
package/x/views/use.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { CSSResultGroup } from "lit";
2
+ import { SignalOptions } from "@e280/strata/signals";
2
3
  import { Op } from "../ops/op.js";
3
4
  import { AttrSpec } from "./attributes.js";
4
5
  export declare const _wrap: unique symbol;
@@ -30,5 +31,11 @@ export declare class Use {
30
31
  fn: <V>(f: () => Promise<V>) => Op<V>;
31
32
  promise<V>(p: Promise<V>): Op<V>;
32
33
  };
33
- signal<V>(value: V): import("@e280/strata/signals").Signal<V>;
34
+ signal: {
35
+ <V>(value: V, options?: Partial<SignalOptions>): import("@e280/strata/signals").SignalFn<V>;
36
+ derive<V>(formula: () => V, options?: Partial<SignalOptions>): import("@e280/strata/signals").DeriveFn<V>;
37
+ lazy<V>(formula: () => V, options?: Partial<SignalOptions>): import("@e280/strata/signals").LazyFn<V>;
38
+ };
39
+ derive<V>(formula: () => V, options?: Partial<SignalOptions>): import("@e280/strata/signals").DeriveFn<V>;
40
+ lazy<V>(formula: () => V, options?: Partial<SignalOptions>): import("@e280/strata/signals").LazyFn<V>;
34
41
  }
package/x/views/use.js CHANGED
@@ -86,8 +86,24 @@ export class Use {
86
86
  op.promise = (p) => this.once(() => Op.promise(p));
87
87
  return op;
88
88
  })();
89
- signal(value) {
90
- return this.once(() => signal(value));
89
+ signal = (() => {
90
+ const that = this;
91
+ function sig(value, options) {
92
+ return that.once(() => signal(value, options));
93
+ }
94
+ sig.derive = function derive(formula, options) {
95
+ return that.once(() => signal.derive(formula, options));
96
+ };
97
+ sig.lazy = function lazy(formula, options) {
98
+ return that.once(() => signal.lazy(formula, options));
99
+ };
100
+ return sig;
101
+ })();
102
+ derive(formula, options) {
103
+ return this.once(() => signal.derive(formula, options));
104
+ }
105
+ lazy(formula, options) {
106
+ return this.once(() => signal.lazy(formula, options));
91
107
  }
92
108
  }
93
109
  //# sourceMappingURL=use.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../s/views/use.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../s/views/use.ts"],"names":[],"mappings":"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"}
package/x/views/view.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ComponentFn, View, ViewFn, ViewSettings } from "./types.js";
2
2
  export declare const view: {
3
3
  <Props extends any[]>(fn: ViewFn<Props>): View<Props>;
4
- view: /*elided*/ any;
4
+ declare: /*elided*/ any;
5
5
  settings(settings2: Partial<ViewSettings>): /*elided*/ any;
6
6
  component(fn: ComponentFn): import("@e280/stz").Constructor<import("./types.js").Component<[]>>;
7
7
  };
package/x/views/view.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { render } from "lit";
2
2
  import { debounce, MapG } from "@e280/stz";
3
+ import { directive } from "lit/directive.js";
3
4
  import { tracker } from "@e280/strata/tracker";
4
5
  import { AsyncDirective } from "lit/async-directive.js";
5
- import { directive } from "lit/directive.js";
6
6
  import { register } from "../dom/register.js";
7
7
  import { applyAttrs } from "./utils/apply-attrs.js";
8
8
  import { applyStyles } from "./utils/apply-styles.js";
@@ -32,7 +32,7 @@ function setupView(settings) {
32
32
  return;
33
33
  if (!this.isConnected)
34
34
  return;
35
- const { with: w, props } = this.#params;
35
+ const { context: w, props } = this.#params;
36
36
  this.#use[_wrap](() => {
37
37
  // apply html attributes
38
38
  applyAttrs(this.#element, w.attrs);
@@ -48,8 +48,8 @@ function setupView(settings) {
48
48
  render(w.children, this.#element);
49
49
  });
50
50
  }
51
- render(w, props) {
52
- this.#params = { with: w, props };
51
+ render(context, props) {
52
+ this.#params = { context: context, props };
53
53
  this.#renderNow();
54
54
  return situation.isComponent ? null : this.#element;
55
55
  }
@@ -67,38 +67,48 @@ function setupView(settings) {
67
67
  getElement: () => document.createElement(settings.tag ?? "sly-view"),
68
68
  isComponent: false,
69
69
  }));
70
- function setupDirective(w) {
71
- const rend = (...props) => d(w, props);
72
- rend.props = rend;
73
- rend.with = (w2) => setupDirective({ ...w, ...w2 });
74
- rend.children = (...children) => setupDirective({ ...w, children });
75
- rend.attrs = (attrs) => setupDirective({ ...w, attrs });
76
- rend.attr = (name, value) => setupDirective({
77
- ...w,
78
- attrs: { ...w.attrs, [name]: value },
79
- });
80
- rend.component = (...props) => class extends HTMLElement {
81
- #directive = directive(make({
82
- getElement: () => this,
83
- isComponent: true,
84
- }));
85
- constructor() {
86
- super();
87
- this.render(...props);
88
- }
89
- render(...props) {
90
- if (this.isConnected)
91
- render(this.#directive(w, props), this);
92
- }
93
- };
94
- return rend;
70
+ const freshViewContext = () => ({ attrs: {}, children: [] });
71
+ function rendy(...props) {
72
+ return d(freshViewContext(), props);
95
73
  }
96
- return setupDirective({
97
- attrs: {},
98
- children: null,
99
- });
74
+ rendy.props = (...props) => {
75
+ let ctx = freshViewContext();
76
+ const chain = {
77
+ children(...children) {
78
+ ctx = { ...ctx, children: [...ctx.children, ...children] };
79
+ return chain;
80
+ },
81
+ attrs(attrs) {
82
+ ctx = { ...ctx, attrs: { ...ctx.attrs, ...attrs } };
83
+ return chain;
84
+ },
85
+ attr(name, value) {
86
+ ctx = { ...ctx, attrs: { ...ctx.attrs, [name]: value } };
87
+ return chain;
88
+ },
89
+ render() {
90
+ return d(ctx, props);
91
+ },
92
+ };
93
+ return chain;
94
+ };
95
+ rendy.component = (...props) => class extends HTMLElement {
96
+ #directive = directive(make({
97
+ getElement: () => this,
98
+ isComponent: true,
99
+ }));
100
+ constructor() {
101
+ super();
102
+ this.render(...props);
103
+ }
104
+ render(...props) {
105
+ if (this.isConnected)
106
+ render(this.#directive(freshViewContext(), props), this);
107
+ }
108
+ };
109
+ return rendy;
100
110
  }
101
- view.view = view;
111
+ view.declare = view;
102
112
  view.settings = (settings2) => setupView({ ...settings, ...settings2 });
103
113
  view.component = (fn) => view(use => () => fn(use)).component();
104
114
  return view;
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../s/views/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../s/views/view.ts"],"names":[],"mappings":"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"}
package/s/dom/dollar.ts DELETED
@@ -1,27 +0,0 @@
1
-
2
- import {render} from "lit"
3
- import {register} from "./register.js"
4
- import {Content} from "../views/types.js"
5
-
6
- export type Container = HTMLElement | ShadowRoot | DocumentFragment
7
- export type Queryable = HTMLElement | ShadowRoot | Element | Document | DocumentFragment
8
-
9
- export function $<E extends HTMLElement = HTMLElement>(selector: string, context: Queryable = document) {
10
- const e = context.querySelector<E>(selector)
11
- if (!e) throw new Error(`$1 ${selector} not found`)
12
- return e
13
- }
14
-
15
- function all<E extends HTMLElement = HTMLElement>(selector: string, context: Queryable = document) {
16
- return Array.from(context.querySelectorAll<E>(selector))
17
- }
18
-
19
- $.maybe = <E extends HTMLElement = HTMLElement>(selector: string, context: Queryable = document) => {
20
- return context.querySelector<E>(selector)
21
- }
22
-
23
- $.all = all
24
-
25
- $.render = (container: Container, ...content: Content[]) => render(content, container)
26
- $.register = register
27
-
package/x/dom/dollar.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import { Content } from "../views/types.js";
2
- export type Container = HTMLElement | ShadowRoot | DocumentFragment;
3
- export type Queryable = HTMLElement | ShadowRoot | Element | Document | DocumentFragment;
4
- export declare function $<E extends HTMLElement = HTMLElement>(selector: string, context?: Queryable): E;
5
- export declare namespace $ {
6
- var maybe: <E extends HTMLElement = HTMLElement>(selector: string, context?: Queryable) => E | null;
7
- var all: <E extends HTMLElement = HTMLElement>(selector: string, context?: Queryable) => E[];
8
- var render: (container: Container, ...content: Content[]) => import("lit-html").RootPart;
9
- var register: typeof import("./register.js").register;
10
- }
package/x/dom/dollar.js DELETED
@@ -1,18 +0,0 @@
1
- import { render } from "lit";
2
- import { register } from "./register.js";
3
- export function $(selector, context = document) {
4
- const e = context.querySelector(selector);
5
- if (!e)
6
- throw new Error(`$1 ${selector} not found`);
7
- return e;
8
- }
9
- function all(selector, context = document) {
10
- return Array.from(context.querySelectorAll(selector));
11
- }
12
- $.maybe = (selector, context = document) => {
13
- return context.querySelector(selector);
14
- };
15
- $.all = all;
16
- $.render = (container, ...content) => render(content, container);
17
- $.register = register;
18
- //# sourceMappingURL=dollar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dollar.js","sourceRoot":"","sources":["../../s/dom/dollar.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AAMtC,MAAM,UAAU,CAAC,CAAsC,QAAgB,EAAE,UAAqB,QAAQ;IACrG,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAI,QAAQ,CAAC,CAAA;IAC5C,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,QAAQ,YAAY,CAAC,CAAA;IACnD,OAAO,CAAC,CAAA;AACT,CAAC;AAED,SAAS,GAAG,CAAsC,QAAgB,EAAE,UAAqB,QAAQ;IAChG,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAI,QAAQ,CAAC,CAAC,CAAA;AACzD,CAAC;AAED,CAAC,CAAC,KAAK,GAAG,CAAsC,QAAgB,EAAE,UAAqB,QAAQ,EAAE,EAAE;IAClG,OAAO,OAAO,CAAC,aAAa,CAAI,QAAQ,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,CAAC,CAAC,GAAG,GAAG,GAAG,CAAA;AAEX,CAAC,CAAC,MAAM,GAAG,CAAC,SAAoB,EAAE,GAAG,OAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;AACtF,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAA"}