@rvx/ui 0.1.15 → 0.1.18

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.
@@ -70,6 +70,15 @@ export interface Theme {
70
70
  nav_list?: string;
71
71
  nav_list_item?: string;
72
72
  nav_list_item_current?: string;
73
+ notification_host?: string;
74
+ notification_area?: string;
75
+ notification?: string;
76
+ notification_raw?: string;
77
+ notification_default?: string;
78
+ notification_info?: string;
79
+ notification_success?: string;
80
+ notification_warning?: string;
81
+ notification_danger?: string;
73
82
  page?: string;
74
83
  page_scrollbar_comp?: string;
75
84
  page_content_col?: string;
@@ -6,8 +6,8 @@ export function Card(props) {
6
6
  const theme = THEME.current;
7
7
  return _jsx("div", { class: [
8
8
  theme?.card,
9
+ props.raw ? theme?.card_raw : undefined,
9
10
  map(props.variant, variant => theme?.[`card_${variant ?? "default"}`]),
10
- map(props.raw, unpadded => unpadded ? theme?.card_raw : undefined),
11
11
  ], children: props.raw
12
12
  ? props.children
13
13
  : _jsx(Column, { class: theme?.card_content, children: props.children }) });
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/components/card.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAc,GAAG,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,MAAM,UAAU,IAAI,CAAC,KAIpB;IACA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,OAAO,cACN,KAAK,EAAE;YACN,KAAK,EAAE,IAAI;YACX,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;YACtE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;SAClE,YAEA,KAAK,CAAC,GAAG;YACT,CAAC,CAAC,KAAK,CAAC,QAAQ;YAChB,CAAC,CAAC,KAAC,MAAM,IAAC,KAAK,EAAE,KAAK,EAAE,YAAY,YAClC,KAAK,CAAC,QAAQ,GACP,GAEL,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/components/card.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAc,GAAG,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,MAAM,UAAU,IAAI,CAAC,KAIpB;IACA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,OAAO,cACN,KAAK,EAAE;YACN,KAAK,EAAE,IAAI;YACX,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;YACvC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;SACtE,YAEA,KAAK,CAAC,GAAG;YACT,CAAC,CAAC,KAAK,CAAC,QAAQ;YAChB,CAAC,CAAC,KAAC,MAAM,IAAC,KAAK,EAAE,KAAK,EAAE,YAAY,YAClC,KAAK,CAAC,QAAQ,GACP,GAEL,CAAC;AACR,CAAC"}
@@ -1,11 +1,19 @@
1
- import { Context, Expression } from "rvx";
1
+ import { Component, Context, Expression } from "rvx";
2
2
  import { Action } from "../common/events.js";
3
3
  export declare const LAYER: Context<LayerHandle | undefined>;
4
4
  /**
5
5
  * Render content inside the root layer.
6
6
  */
7
7
  export declare function RootLayer(props: {
8
- children: () => unknown;
8
+ children: Component;
9
+ }): unknown;
10
+ /**
11
+ * Render content inside the top layer.
12
+ *
13
+ * This layer is not affected by other modal layers.
14
+ */
15
+ export declare function TopLayer(props: {
16
+ children: Component;
9
17
  }): unknown;
10
18
  /**
11
19
  * An input layer that is inert while there are other modal layers on top of it.
@@ -15,7 +23,7 @@ export declare function RootLayer(props: {
15
23
  * When disposed, focus is moved back to the previously focused element.
16
24
  */
17
25
  export declare function Layer(props: {
18
- children: () => unknown;
26
+ children: Component;
19
27
  /**
20
28
  * If true, all layers below this one are marked as inert until the current context is disposed.
21
29
  */
@@ -10,15 +10,20 @@ const LAYERS = $([
10
10
  autoFocusFallback: undefined,
11
11
  },
12
12
  ]);
13
+ const TOP_LAYER = {
14
+ roots: [],
15
+ modal: false,
16
+ inert: $(false),
17
+ autoFocusFallback: undefined,
18
+ };
13
19
  uncapture(() => watch(LAYERS, layers => {
14
20
  const modal = layers.findLastIndex(l => l.modal);
15
21
  for (let i = 0; i < layers.length; i++) {
16
22
  layers[i].inert.value = i < modal;
17
23
  }
18
24
  }));
19
- export function RootLayer(props) {
20
- const layer = LAYERS.value[0];
21
- const root = _jsx("div", { style: { display: "contents" }, inert: layer.inert, children: _jsx(Inject, { context: LAYER, value: new Handle(layer), children: props.children }) });
25
+ function staticLayer(layer, content) {
26
+ const root = _jsx("div", { style: { display: "contents" }, inert: layer.inert, children: _jsx(Inject, { context: LAYER, value: new Handle(layer), children: content }) });
22
27
  layer.roots.push(root);
23
28
  teardown(() => {
24
29
  const index = layer.roots.indexOf(root);
@@ -28,6 +33,12 @@ export function RootLayer(props) {
28
33
  });
29
34
  return root;
30
35
  }
36
+ export function RootLayer(props) {
37
+ return staticLayer(untrack(() => LAYERS.value[0]), props.children);
38
+ }
39
+ export function TopLayer(props) {
40
+ return staticLayer(TOP_LAYER, props.children);
41
+ }
31
42
  export function Layer(props) {
32
43
  const layer = {
33
44
  roots: [],
@@ -111,6 +122,9 @@ class Handle {
111
122
  return this.#instance.inert.value;
112
123
  }
113
124
  get top() {
125
+ if (this.#instance === TOP_LAYER) {
126
+ return true;
127
+ }
114
128
  const layers = LAYERS.value;
115
129
  return layers[layers.length - 1] === this.#instance;
116
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"layer.js","sourceRoot":"","sources":["../../src/components/layer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layer.js","sourceRoot":"","sources":["../../src/components/layer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Component } from "rvx";
2
+ export type NotificationVariant = "default" | "info" | "success" | "warning" | "danger";
3
+ export interface Notification {
4
+ dispose(): void;
5
+ }
6
+ export interface NotificationOptions {
7
+ variant?: NotificationVariant;
8
+ timeout?: number;
9
+ raw?: boolean;
10
+ }
11
+ export declare function showNotification(content: Component<Notification>, options?: NotificationOptions): Notification;
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx } from "rvx/jsx-runtime";
2
+ import { $, captureSelf, For, movable, render, teardown } from "rvx";
3
+ import { useTimeout } from "rvx/async";
4
+ import { THEME } from "../common/theme.js";
5
+ import { Collapse } from "./collapse.js";
6
+ import { Column } from "./column.js";
7
+ let host;
8
+ const instances = $([]);
9
+ export function showNotification(content, options) {
10
+ const theme = THEME.current;
11
+ if (!host) {
12
+ host = render(_jsx("div", { class: theme?.notification_host, children: _jsx(Column, { class: theme?.notification_area, children: _jsx(For, { each: instances, children: instance => instance() }) }) }));
13
+ }
14
+ host.appendTo(document.body);
15
+ let handle;
16
+ captureSelf(dispose => {
17
+ handle = { dispose };
18
+ const visible = $(true);
19
+ const instance = movable(_jsx(Collapse, { fadein: true, visible: visible, children: _jsx("div", { class: [
20
+ theme?.notification,
21
+ options?.raw ? theme?.notification_raw : undefined,
22
+ theme?.[`notification_${options?.variant ?? "default"}`],
23
+ ], children: options?.raw
24
+ ? content(handle)
25
+ : _jsx(Column, { children: content(handle) }) }) })).move;
26
+ instances.update(instances => {
27
+ instances.push(instance);
28
+ });
29
+ if (options?.timeout !== undefined) {
30
+ useTimeout(dispose, options.timeout);
31
+ }
32
+ teardown(() => {
33
+ visible.value = false;
34
+ setTimeout(() => {
35
+ instances.update(instances => {
36
+ const index = instances.indexOf(instance);
37
+ if (index >= 0) {
38
+ instances.splice(index, 1);
39
+ }
40
+ });
41
+ }, 1000);
42
+ });
43
+ });
44
+ return handle;
45
+ }
46
+ //# sourceMappingURL=notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/components/notifications.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,WAAW,EAAa,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAQ,MAAM,KAAK,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAcrC,IAAI,IAAsB,CAAC;AAC3B,MAAM,SAAS,GAAG,CAAC,CAAc,EAAE,CAAC,CAAC;AAErC,MAAM,UAAU,gBAAgB,CAAC,OAAgC,EAAE,OAA6B;IAC/F,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,IAAI,GAAG,MAAM,CAAC,cAAK,KAAK,EAAE,KAAK,EAAE,iBAAiB,YACjD,KAAC,MAAM,IAAC,KAAK,EAAE,KAAK,EAAE,iBAAiB,YACtC,KAAC,GAAG,IAAC,IAAI,EAAE,SAAS,YAClB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,GAClB,GACE,GACJ,CAAC,CAAC;IACT,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,MAAqB,CAAC;IAC1B,WAAW,CAAC,OAAO,CAAC,EAAE;QACrB,MAAM,GAAG,EAAE,OAAO,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAExB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAC,QAAQ,IAAC,MAAM,QAAC,OAAO,EAAE,OAAO,YACzD,cAAK,KAAK,EAAE;oBACX,KAAK,EAAE,YAAY;oBACnB,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS;oBAClD,KAAK,EAAE,CAAC,gBAAgB,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,CAAC;iBACxD,YACC,OAAO,EAAE,GAAG;oBACZ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;oBACjB,CAAC,CAAC,KAAC,MAAM,cACP,OAAO,CAAC,MAAM,CAAC,GACR,GAEL,GACI,CAAC,CAAC,IAAI,CAAC;QAElB,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YAC5B,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAGH,IAAI,OAAO,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YAEpC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,QAAQ,CAAC,GAAG,EAAE;YACb,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YACtB,UAAU,CAAC,GAAG,EAAE;gBACf,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;oBAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC1C,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;wBAChB,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC5B,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC,EAAE,IAAI,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -56,20 +56,21 @@ export declare class Validator {
56
56
  */
57
57
  static get(target: Signal<unknown>): Validator;
58
58
  }
59
+ export type ValidationTarget = Validator | Signal<unknown>;
59
60
  /**
60
61
  * Get the validator attached to the specified target.
61
62
  *
62
63
  * @param target The target.
63
64
  * @returns The validator or `undefined` if there is none.
64
65
  */
65
- export declare function validatorFor(target: Signal<unknown>): Validator | undefined;
66
+ export declare function validatorFor(target: ValidationTarget): Validator | undefined;
66
67
  /**
67
68
  * Find the closest validator attached to the specified target or any of it's {@link Signal.prototype.source sources}.
68
69
  *
69
70
  * @param target The target.
70
71
  * @returns The validator or `undefined` if there is none.
71
72
  */
72
- export declare function closestValidator(target: Signal<unknown>): Validator | undefined;
73
+ export declare function closestValidator(target: ValidationTarget | undefined): Validator | undefined;
73
74
  /**
74
75
  * Validate the specified targets in parallel.
75
76
  *
@@ -77,7 +78,7 @@ export declare function closestValidator(target: Signal<unknown>): Validator | u
77
78
  * @param abortSignal An optional abort signal to abort validation if supported.
78
79
  * @returns `true` if valid.
79
80
  */
80
- export declare function validate(targets: Signal<unknown>[], abortSignal?: AbortSignal): Promise<boolean>;
81
+ export declare function validate(targets: ValidationTarget[], abortSignal?: AbortSignal): Promise<boolean>;
81
82
  export declare function ValidationMessage(props: {
82
83
  children: unknown;
83
84
  }): unknown;
@@ -119,11 +119,14 @@ export class Validator {
119
119
  }
120
120
  }
121
121
  export function validatorFor(target) {
122
+ if (target instanceof Validator) {
123
+ return target;
124
+ }
122
125
  return VALIDATORS.get(target);
123
126
  }
124
127
  export function closestValidator(target) {
125
128
  while (target) {
126
- const validator = VALIDATORS.get(target);
129
+ const validator = validatorFor(target);
127
130
  if (validator) {
128
131
  return validator;
129
132
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/components/validation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/components/validation.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -18,6 +18,7 @@ export * from "./components/label.js";
18
18
  export * from "./components/layer.js";
19
19
  export * from "./components/link.js";
20
20
  export * from "./components/nav-list.js";
21
+ export * from "./components/notifications.js";
21
22
  export * from "./components/page.js";
22
23
  export * from "./components/popout.js";
23
24
  export * from "./components/popover.js";
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ export * from "./components/label.js";
18
18
  export * from "./components/layer.js";
19
19
  export * from "./components/link.js";
20
20
  export * from "./components/nav-list.js";
21
+ export * from "./components/notifications.js";
21
22
  export * from "./components/page.js";
22
23
  export * from "./components/popout.js";
23
24
  export * from "./components/popover.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC"}
@@ -87,10 +87,10 @@ body {
87
87
  --button-danger-fg: black;
88
88
  --button-danger-focus: rgb(255, 200, 214);
89
89
  --button-input-bg: rgb(16, 16, 16);
90
- --button-input-bg-hover: rgb(60, 60, 60);
91
- --button-input-bg-active: rgb(80, 80, 80);
90
+ --button-input-bg-hover: rgb(40, 40, 40);
91
+ --button-input-bg-active: rgb(60, 60, 60);
92
92
  --button-input-fg: white;
93
- --button-input-border: rgb(80, 80, 80);
93
+ --button-input-border: rgb(0, 0, 0);
94
94
  --button-text-bg: transparent;
95
95
  --button-text-bg-hover: rgb(80, 80, 80);
96
96
  --button-text-bg-active: rgb(100, 100, 100);
@@ -296,11 +296,12 @@ body {
296
296
  .collapse {
297
297
  display: block;
298
298
  position: relative;
299
+ opacity: 0;
299
300
  --space-scale: 0;
300
301
  }
301
302
 
302
303
  .collapse_sized {
303
- transition: margin-block-start var(--layout-transition), margin-block-end var(--layout-transition);
304
+ transition: margin-block-start var(--layout-transition), margin-block-end var(--layout-transition), opacity var(--layout-transition);
304
305
  }
305
306
 
306
307
  @keyframes alert {
@@ -323,6 +324,7 @@ body {
323
324
 
324
325
  .collapse_visible.collapse_visible {
325
326
  --space-scale: 1;
327
+ opacity: 1;
326
328
  }
327
329
 
328
330
  .collapse_view {
@@ -650,6 +652,65 @@ h6.heading {
650
652
  z-index: 1;
651
653
  }
652
654
 
655
+ @media (prefers-color-scheme: dark) {
656
+ :root {
657
+ --notification-default-border: rgb(72, 72, 72);
658
+ --notification-info-border: rgb(0, 192, 255);
659
+ --notification-success-border: rgb(0, 255, 128);
660
+ --notification-warning-border: rgb(255, 200, 0);
661
+ --notification-danger-border: rgb(255, 0, 64);
662
+ --notification-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.5);
663
+ color-scheme: dark;
664
+ }
665
+ }
666
+ .notification_host {
667
+ --overflow-safe-area: .5rem;
668
+ display: grid;
669
+ grid-template-columns: 1fr minmax(auto, 32rem) 0;
670
+ grid-template-rows: 1fr auto 0;
671
+ overflow: auto;
672
+ position: fixed;
673
+ inset: 0;
674
+ pointer-events: none;
675
+ z-index: 2;
676
+ padding: 1rem;
677
+ }
678
+
679
+ .notification_area {
680
+ grid-area: 2/2;
681
+ }
682
+
683
+ .notification {
684
+ pointer-events: all;
685
+ box-shadow: var(--notification-shadow);
686
+ border-radius: var(--content-radius);
687
+ background-color: var(--bg);
688
+ }
689
+ .notification:not(.notification_raw) {
690
+ padding-block: calc(var(--content-pad-block-start) - var(--content-border)) calc(var(--content-pad-block-end) - var(--content-border));
691
+ padding-inline: calc(var(--content-pad-inline-start) - var(--content-border)) calc(var(--content-pad-inline-end) - var(--content-border));
692
+ }
693
+
694
+ .notification_default {
695
+ border: var(--content-border) solid var(--notification-default-border);
696
+ }
697
+
698
+ .notification_info {
699
+ border: var(--content-border) solid var(--notification-info-border);
700
+ }
701
+
702
+ .notification_success {
703
+ border: var(--content-border) solid var(--notification-success-border);
704
+ }
705
+
706
+ .notification_warning {
707
+ border: var(--content-border) solid var(--notification-warning-border);
708
+ }
709
+
710
+ .notification_danger {
711
+ border: var(--content-border) solid var(--notification-danger-border);
712
+ }
713
+
653
714
  .page {
654
715
  margin: 2rem;
655
716
  display: flex;
@@ -897,7 +958,7 @@ h6.heading {
897
958
  :root {
898
959
  --text-input-bg: rgb(16, 16, 16);
899
960
  --text-input-fg: white;
900
- --text-input-border: rgb(80, 80, 80);
961
+ --text-input-border: rgb(0, 0, 0);
901
962
  --text-input-border-lit: var(--accent);
902
963
  color-scheme: dark;
903
964
  }
@@ -915,6 +976,7 @@ h6.heading {
915
976
  box-shadow: var(--control-shadow);
916
977
  background-color: var(--text-input-bg);
917
978
  color: var(--text-input-fg);
979
+ line-height: calc(1em + var(--line-gap));
918
980
  }
919
981
  .text_input:focus {
920
982
  border-color: var(--text-input-border-lit);
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/theme/base.scss","../src/theme/common.scss","../src/theme/components/button.scss","../src/theme/components/card.scss","../src/theme/components/checkbox.scss","../src/theme/components/collapse.scss","../src/theme/components/column.scss","../src/theme/components/control-group.scss","../src/theme/components/dialog.scss","../src/theme/components/dropdown.scss","../src/theme/components/flex-space.scss","../src/theme/components/heading.scss","../src/theme/components/label.scss","../src/theme/components/link.scss","../src/theme/components/nav-list.scss","../src/theme/components/page.scss","../src/theme/components/popover.scss","../src/theme/components/radio-buttons.scss","../src/theme/components/row.scss","../src/theme/components/scroll-view.scss","../src/theme/components/slider.scss","../src/theme/components/tabs.scss","../src/theme/components/text-input.scss","../src/theme/components/text.scss","../src/theme/components/validation.scss","../src/theme/components/value.scss"],"names":[],"mappings":"AASA;EACC;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;ECOA;EACA;EACA;EACA;EDPA;EACA;EACA;EACA;EACA;EACA;ECDA;EACA;EACA;EACA;EDCA;EAEA;EAEA;EAEA;EAEA;EACA;EAEA;EACA;EAEA;;;ACjCC;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;ADiDH;EACC;EACA;EAEA;;AACA;EALD;IAME;;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;ACrEC;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;ACgFH;EACC;EACA;EACA;EACA;EAEA;EAEA;EDnEC,eACC;EAED,gBACC;ECkEF;EACA;;AAGA;EACC;;AAGD;EACC;EACA;;;AAKD;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAKH;EACC;;;ADhIC;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAUA;;;AEKH;EACC;EACA;;AAEA;EFYC,eACC;EAED,gBACC;;;AEVF;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;AC9BF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AC3BD;EACC;EACA;EACA;;;AAGD;EACC,YACC;;;AAIF;EACC;IAAO;;EACP;IAAM;;EACN;IAAM;;EACN;IAAK;;;AAGN;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;AAEA;EACC,YACC;;AAIF;EACC;EACA;;;AAIF;EACC;EACA;EACA;EACA;;AAEA;EACC,YACC;;AAKF;EACC;EACA;EACA;;;AC3DF;EACC;EACA;;AAEA;EACC;;AAMD;EACC;;AAGD;EACC;;AAMD;EACC;;;AAKD;EACC;;AACA;EACC;;AAGD;ELAA,eACC;EAED,gBACC;;;AKVF;EACC;;AACA;EACC;;AAGD;ELAA,eACC;EAED,gBACC;;;AMvCH;EACC;EACA;EAEA;;AACA;EACC;;AAGD;EACC;EACA;;AAED;EACC;EACA;;;ANHA;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AOEH;EACC;EACA;EAEA;EAEA;EACA;EACA;EAEA;EAEA;EACA;;;AAGD;EACC;;AACA;EACC;;;AAIF;EACC;EACA;;AACA;EACC;;;AAIF;EACC;IACC;;;AAIF;EACC;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EP5BC,eACC;EAED,gBACC;;;AO4BH;EACC;;;APxDC;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AQEH;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;ERPC,eACC;EAED,gBACC;;AQMF;EACC;;;AC9CF;EACC;EACA;EACA;;;ACHD;EACC;EACA;;AAEA;EAEC;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;;;AVxBC;EAFD;IANE;IAUA;;;AWPH;EACC;EACA;EAEA;EACA;EACA;;AAEA;EAEC;EACA;EACA;EACA;;;AXRA;EAFD;IANE;IAUA;;;AYPH;EACC;EACA;EAEA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AZTA;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;AaiBH;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EAEA;EbhBC,eACC;EAED,gBACC;EaeF;EACA;;AAGA;EACC;EACA;;AAGD;EAEC;EACA;;AAGD;EACC;EACA;;;AAIF;EACC;EACA;EACA;EACA;;;AC/ED;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AdPC;EAFD;IANE;IAAA;IAAA;IAUA;;;AeDH;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EAEA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EfnBC,eACC;EAED,gBACC;;;AgBvCH;EACC;EACA;EACA;;AAEA;EACC;EACA;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;ACjCD;EACC;EACA;EACA;;;AAIA;EACC;EACA;;AACA;EACC;EACA;;;AALF;EACC;EACA;;AACA;EACC;EACA;;;AjBAD;EAFD;IANE;IAAA;IAUA;;;AkBJH;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AChDD;EACC;EACA;EACA;;AAEA;EACC;EACA;;AAEA;EACC;;;AnBED;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;AoBQH;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EAEA;EACA;EAEA,eACC;EAED,gBACC;EAGD;EACA;EACA;EACA;EAEA;EACA;;AAGA;EAEC;EACA;;AAED;EACC;;;AAIF;EACC;EACA;;;AAGD;EpBjCE,eACC;EAED,gBACC;;;AA3BD;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AqBEH;EACC;EACA;EACA;EAEA;EAEA;ErBmBC,eACC;EAED,gBACC;EqBrBF;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;;;AC1CD;EACC;;AAEA;EAEC;EACA;EACA;EACA;;;AtBIA;EAFD;IANE;IAUA;;;AuBPH;EACC;;;AAGD;EACC;;;ACZD;EACC","file":"theme.module.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../src/theme/base.scss","../src/theme/common.scss","../src/theme/components/button.scss","../src/theme/components/card.scss","../src/theme/components/checkbox.scss","../src/theme/components/collapse.scss","../src/theme/components/column.scss","../src/theme/components/control-group.scss","../src/theme/components/dialog.scss","../src/theme/components/dropdown.scss","../src/theme/components/flex-space.scss","../src/theme/components/heading.scss","../src/theme/components/label.scss","../src/theme/components/link.scss","../src/theme/components/nav-list.scss","../src/theme/components/notifications.scss","../src/theme/components/page.scss","../src/theme/components/popover.scss","../src/theme/components/radio-buttons.scss","../src/theme/components/row.scss","../src/theme/components/scroll-view.scss","../src/theme/components/slider.scss","../src/theme/components/tabs.scss","../src/theme/components/text-input.scss","../src/theme/components/text.scss","../src/theme/components/validation.scss","../src/theme/components/value.scss"],"names":[],"mappings":"AASA;EACC;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;ECOA;EACA;EACA;EACA;EDPA;EACA;EACA;EACA;EACA;EACA;ECDA;EACA;EACA;EACA;EDCA;EAEA;EAEA;EAEA;EAEA;EACA;EAEA;EACA;EAEA;;;ACjCC;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;ADiDH;EACC;EACA;EAEA;;AACA;EALD;IAME;;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;ACrEC;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;ACgFH;EACC;EACA;EACA;EACA;EAEA;EAEA;EDnEC,eACC;EAED,gBACC;ECkEF;EACA;;AAGA;EACC;;AAGD;EACC;EACA;;;AAKD;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAKH;EACC;;;ADhIC;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAUA;;;AEKH;EACC;EACA;;AAEA;EFYC,eACC;EAED,gBACC;;;AEVF;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;AC9BF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AC3BD;EACC;EACA;EACA;EACA;;;AAGD;EACC,YACC;;;AAKF;EACC;IAAO;;EACP;IAAM;;EACN;IAAM;;EACN;IAAK;;;AAGN;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;;AAEA;EACC,YACC;;AAIF;EACC;EACA;;;AAIF;EACC;EACA;EACA;EACA;;AAEA;EACC,YACC;;AAKF;EACC;EACA;EACA;;;AC9DF;EACC;EACA;;AAEA;EACC;;AAMD;EACC;;AAGD;EACC;;AAMD;EACC;;;AAKD;EACC;;AACA;EACC;;AAGD;ELAA,eACC;EAED,gBACC;;;AKVF;EACC;;AACA;EACC;;AAGD;ELAA,eACC;EAED,gBACC;;;AMvCH;EACC;EACA;EAEA;;AACA;EACC;;AAGD;EACC;EACA;;AAED;EACC;EACA;;;ANHA;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AOEH;EACC;EACA;EAEA;EAEA;EACA;EACA;EAEA;EAEA;EACA;;;AAGD;EACC;;AACA;EACC;;;AAIF;EACC;EACA;;AACA;EACC;;;AAIF;EACC;IACC;;;AAIF;EACC;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EP5BC,eACC;EAED,gBACC;;;AO4BH;EACC;;;APxDC;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AQEH;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;ERPC,eACC;EAED,gBACC;;AQMF;EACC;;;AC9CF;EACC;EACA;EACA;;;ACHD;EACC;EACA;;AAEA;EAEC;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;;;AVxBC;EAFD;IANE;IAUA;;;AWPH;EACC;EACA;EAEA;EACA;EACA;;AAEA;EAEC;EACA;EACA;EACA;;;AXRA;EAFD;IANE;IAUA;;;AYPH;EACC;EACA;EAEA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AZTA;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;AaiBH;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EAEA;EbhBC,eACC;EAED,gBACC;EaeF;EACA;;AAGA;EACC;EACA;;AAGD;EAEC;EACA;;AAGD;EACC;EACA;;;AAIF;EACC;EACA;EACA;EACA;;;AbnEC;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;AcSH;EACC;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;;AAEA;EdbC,eACC;EAED,gBACC;;;AceF;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;ACvDF;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AfPC;EAFD;IANE;IAAA;IAAA;IAUA;;;AgBDH;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EAEA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EhBnBC,eACC;EAED,gBACC;;;AiBvCH;EACC;EACA;EACA;;AAEA;EACC;EACA;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;ACjCD;EACC;EACA;EACA;;;AAIA;EACC;EACA;;AACA;EACC;EACA;;;AALF;EACC;EACA;;AACA;EACC;EACA;;;AlBAD;EAFD;IANE;IAAA;IAUA;;;AmBJH;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AChDD;EACC;EACA;EACA;;AAEA;EACC;EACA;;AAEA;EACC;;;ApBED;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;AqBQH;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EAEA;EACA;EAEA,eACC;EAED,gBACC;EAGD;EACA;EACA;EACA;EAEA;EACA;;AAGA;EAEC;EACA;;AAED;EACC;;;AAIF;EACC;EACA;;;AAGD;ErBjCE,eACC;EAED,gBACC;;;AA3BD;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AsBEH;EACC;EACA;EACA;EAEA;EAEA;EtBmBC,eACC;EAED,gBACC;EsBrBF;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;;;AC3CD;EACC;;AAEA;EAEC;EACA;EACA;EACA;;;AvBIA;EAFD;IANE;IAUA;;;AwBPH;EACC;;;AAGD;EACC;;;ACZD;EACC","file":"theme.module.css"}
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "rvx"
13
13
  ],
14
14
  "license": "MIT",
15
- "version": "0.1.15",
15
+ "version": "0.1.18",
16
16
  "type": "module",
17
17
  "main": "./dist/index.js",
18
18
  "sideEffects": false,
@@ -28,6 +28,6 @@
28
28
  "./dist/": "./dist/"
29
29
  },
30
30
  "dependencies": {
31
- "rvx": "^22.2.3"
31
+ "rvx": "^22.2.4"
32
32
  }
33
33
  }
@@ -85,6 +85,16 @@ export interface Theme {
85
85
  nav_list_item?: string;
86
86
  nav_list_item_current?: string;
87
87
 
88
+ notification_host?: string;
89
+ notification_area?: string;
90
+ notification?: string;
91
+ notification_raw?: string;
92
+ notification_default?: string;
93
+ notification_info?: string;
94
+ notification_success?: string;
95
+ notification_warning?: string;
96
+ notification_danger?: string;
97
+
88
98
  page?: string;
89
99
  page_scrollbar_comp?: string;
90
100
  page_content_col?: string;
@@ -13,8 +13,8 @@ export function Card(props: {
13
13
  return <div
14
14
  class={[
15
15
  theme?.card,
16
+ props.raw ? theme?.card_raw : undefined,
16
17
  map(props.variant, variant => theme?.[`card_${variant ?? "default"}`]),
17
- map(props.raw, unpadded => unpadded ? theme?.card_raw : undefined),
18
18
  ]}
19
19
  >
20
20
  {props.raw
@@ -1,4 +1,4 @@
1
- import { $, Context, Expression, get, Inject, memo, Signal, teardown, uncapture, untrack, watch } from "rvx";
1
+ import { $, Component, Context, Expression, get, Inject, memo, Signal, teardown, uncapture, untrack, watch } from "rvx";
2
2
 
3
3
  import { Action, handleActionEvent, keyFor } from "../common/events.js";
4
4
 
@@ -24,6 +24,13 @@ const LAYERS = $<LayerInstance[]>([
24
24
  },
25
25
  ]);
26
26
 
27
+ const TOP_LAYER: LayerInstance = {
28
+ roots: [],
29
+ modal: false,
30
+ inert: $(false),
31
+ autoFocusFallback: undefined,
32
+ };
33
+
27
34
  uncapture(() => watch(LAYERS, layers => {
28
35
  const modal = layers.findLastIndex(l => l.modal);
29
36
  for (let i = 0; i < layers.length; i++) {
@@ -31,19 +38,13 @@ uncapture(() => watch(LAYERS, layers => {
31
38
  }
32
39
  }));
33
40
 
34
- /**
35
- * Render content inside the root layer.
36
- */
37
- export function RootLayer(props: {
38
- children: () => unknown;
39
- }): unknown {
40
- const layer = LAYERS.value[0];
41
+ function staticLayer(layer: LayerInstance, content: Component): unknown {
41
42
  const root = <div
42
43
  style={{ display: "contents" }}
43
44
  inert={layer.inert}
44
45
  >
45
46
  <Inject context={LAYER} value={new Handle(layer)}>
46
- {props.children}
47
+ {content}
47
48
  </Inject>
48
49
  </div> as HTMLDivElement;
49
50
  layer.roots.push(root);
@@ -56,6 +57,26 @@ export function RootLayer(props: {
56
57
  return root;
57
58
  }
58
59
 
60
+ /**
61
+ * Render content inside the root layer.
62
+ */
63
+ export function RootLayer(props: {
64
+ children: Component;
65
+ }): unknown {
66
+ return staticLayer(untrack(() => LAYERS.value[0]), props.children);
67
+ }
68
+
69
+ /**
70
+ * Render content inside the top layer.
71
+ *
72
+ * This layer is not affected by other modal layers.
73
+ */
74
+ export function TopLayer(props: {
75
+ children: Component;
76
+ }): unknown {
77
+ return staticLayer(TOP_LAYER, props.children);
78
+ }
79
+
59
80
  /**
60
81
  * An input layer that is inert while there are other modal layers on top of it.
61
82
  *
@@ -64,7 +85,7 @@ export function RootLayer(props: {
64
85
  * When disposed, focus is moved back to the previously focused element.
65
86
  */
66
87
  export function Layer(props: {
67
- children: () => unknown;
88
+ children: Component;
68
89
 
69
90
  /**
70
91
  * If true, all layers below this one are marked as inert until the current context is disposed.
@@ -240,6 +261,9 @@ class Handle implements LayerHandle {
240
261
  }
241
262
 
242
263
  get top(): boolean {
264
+ if (this.#instance === TOP_LAYER) {
265
+ return true;
266
+ }
243
267
  const layers = LAYERS.value;
244
268
  return layers[layers.length - 1] === this.#instance;
245
269
  }
@@ -276,7 +300,7 @@ class Handle implements LayerHandle {
276
300
  if (i < 0) {
277
301
  return this.contains(node);
278
302
  }
279
- for (;;) {
303
+ for (; ;) {
280
304
  if (instanceContains(layers[i], node)) {
281
305
  return true;
282
306
  }
@@ -0,0 +1,79 @@
1
+ import { $, captureSelf, Component, For, movable, render, teardown, View } from "rvx";
2
+ import { useTimeout } from "rvx/async";
3
+ import { THEME } from "../common/theme.js";
4
+ import { Collapse } from "./collapse.js";
5
+ import { Column } from "./column.js";
6
+
7
+ export type NotificationVariant = "default" | "info" | "success" | "warning" | "danger";
8
+
9
+ export interface Notification {
10
+ dispose(): void;
11
+ }
12
+
13
+ export interface NotificationOptions {
14
+ variant?: NotificationVariant;
15
+ timeout?: number;
16
+ raw?: boolean;
17
+ }
18
+
19
+ let host: View | undefined;
20
+ const instances = $<Component[]>([]);
21
+
22
+ export function showNotification(content: Component<Notification>, options?: NotificationOptions): Notification {
23
+ const theme = THEME.current;
24
+ if (!host) {
25
+ host = render(<div class={theme?.notification_host}>
26
+ <Column class={theme?.notification_area}>
27
+ <For each={instances}>
28
+ {instance => instance()}
29
+ </For>
30
+ </Column>
31
+ </div>);
32
+ }
33
+ host.appendTo(document.body);
34
+
35
+ let handle!: Notification;
36
+ captureSelf(dispose => {
37
+ handle = { dispose };
38
+ const visible = $(true);
39
+
40
+ const instance = movable(<Collapse fadein visible={visible}>
41
+ <div class={[
42
+ theme?.notification,
43
+ options?.raw ? theme?.notification_raw : undefined,
44
+ theme?.[`notification_${options?.variant ?? "default"}`],
45
+ ]}>
46
+ {options?.raw
47
+ ? content(handle)
48
+ : <Column>
49
+ {content(handle)}
50
+ </Column>
51
+ }
52
+ </div>
53
+ </Collapse>).move;
54
+
55
+ instances.update(instances => {
56
+ instances.push(instance);
57
+ });
58
+ // TODO: Scroll notification into view.
59
+
60
+ if (options?.timeout !== undefined) {
61
+ // TODO: Pause & reset on notification area hover.
62
+ useTimeout(dispose, options.timeout);
63
+ }
64
+
65
+ teardown(() => {
66
+ visible.value = false;
67
+ setTimeout(() => {
68
+ instances.update(instances => {
69
+ const index = instances.indexOf(instance);
70
+ if (index >= 0) {
71
+ instances.splice(index, 1);
72
+ }
73
+ });
74
+ }, 1000);
75
+ });
76
+ });
77
+
78
+ return handle;
79
+ }
@@ -179,13 +179,18 @@ export class Validator {
179
179
  }
180
180
  }
181
181
 
182
+ export type ValidationTarget = Validator | Signal<unknown>;
183
+
182
184
  /**
183
185
  * Get the validator attached to the specified target.
184
186
  *
185
187
  * @param target The target.
186
188
  * @returns The validator or `undefined` if there is none.
187
189
  */
188
- export function validatorFor(target: Signal<unknown>): Validator | undefined {
190
+ export function validatorFor(target: ValidationTarget): Validator | undefined {
191
+ if (target instanceof Validator) {
192
+ return target;
193
+ }
189
194
  return VALIDATORS.get(target);
190
195
  }
191
196
 
@@ -195,14 +200,13 @@ export function validatorFor(target: Signal<unknown>): Validator | undefined {
195
200
  * @param target The target.
196
201
  * @returns The validator or `undefined` if there is none.
197
202
  */
198
- export function closestValidator(target: Signal<unknown>): Validator | undefined;
199
- export function closestValidator(target: Signal<unknown> | undefined): Validator | undefined {
203
+ export function closestValidator(target: ValidationTarget | undefined): Validator | undefined {
200
204
  while (target) {
201
- const validator = VALIDATORS.get(target);
205
+ const validator = validatorFor(target);
202
206
  if (validator) {
203
207
  return validator;
204
208
  }
205
- target = target.source;
209
+ target = (target as Signal<unknown>).source;
206
210
  }
207
211
  }
208
212
 
@@ -213,7 +217,7 @@ export function closestValidator(target: Signal<unknown> | undefined): Validator
213
217
  * @param abortSignal An optional abort signal to abort validation if supported.
214
218
  * @returns `true` if valid.
215
219
  */
216
- export async function validate(targets: Signal<unknown>[], abortSignal?: AbortSignal): Promise<boolean> {
220
+ export async function validate(targets: ValidationTarget[], abortSignal?: AbortSignal): Promise<boolean> {
217
221
  const tasks: Promise<boolean>[] = [];
218
222
  for (let i = 0; i < targets.length; i++) {
219
223
  const validator = validatorFor(targets[i]);
package/src/index.tsx CHANGED
@@ -18,6 +18,7 @@ export * from "./components/label.js";
18
18
  export * from "./components/layer.js";
19
19
  export * from "./components/link.js";
20
20
  export * from "./components/nav-list.js";
21
+ export * from "./components/notifications.js";
21
22
  export * from "./components/page.js";
22
23
  export * from "./components/popout.js";
23
24
  export * from "./components/popover.js";
@@ -67,16 +67,16 @@
67
67
  dark: rgb(16, 16, 16),
68
68
  ),
69
69
  button-input-bg-hover: (
70
- dark: rgb(60, 60, 60),
70
+ dark: rgb(40, 40, 40),
71
71
  ),
72
72
  button-input-bg-active: (
73
- dark: rgb(80, 80, 80),
73
+ dark: rgb(60, 60, 60),
74
74
  ),
75
75
  button-input-fg: (
76
76
  dark: white,
77
77
  ),
78
78
  button-input-border: (
79
- dark: rgb(80, 80, 80),
79
+ dark: rgb(0, 0, 0),
80
80
  ),
81
81
 
82
82
  button-text-bg: (
@@ -2,13 +2,15 @@
2
2
  .collapse {
3
3
  display: block;
4
4
  position: relative;
5
+ opacity: 0;
5
6
  --space-scale: 0;
6
7
  }
7
8
 
8
9
  .collapse_sized {
9
10
  transition:
10
11
  margin-block-start var(--layout-transition),
11
- margin-block-end var(--layout-transition);
12
+ margin-block-end var(--layout-transition),
13
+ opacity var(--layout-transition);
12
14
  }
13
15
 
14
16
  @keyframes alert {
@@ -24,6 +26,7 @@
24
26
 
25
27
  .collapse_visible.collapse_visible {
26
28
  --space-scale: 1;
29
+ opacity: 1;
27
30
  }
28
31
 
29
32
  .collapse_view {
@@ -0,0 +1,59 @@
1
+ @use "../common";
2
+
3
+ // TODO: Maybe just use cards with extra marker class for optional style distinction.
4
+ @include common.theme((
5
+ notification-default-border: (
6
+ dark: rgb(72, 72, 72),
7
+ ),
8
+ notification-info-border: (
9
+ dark: rgb(0, 192, 255),
10
+ ),
11
+ notification-success-border: (
12
+ dark: rgb(0, 255, 128),
13
+ ),
14
+ notification-warning-border: (
15
+ dark: rgb(255, 200, 0),
16
+ ),
17
+ notification-danger-border: (
18
+ dark: rgb(255, 0, 64),
19
+ ),
20
+ notification-shadow: (
21
+ dark: 0 0 .5rem rgba(0, 0, 0, .5),
22
+ ),
23
+ ));
24
+
25
+ .notification_host {
26
+ --overflow-safe-area: .5rem;
27
+ display: grid;
28
+ // TODO: Globally configurable position & inline size.
29
+ grid-template-columns: 1fr minmax(auto, 32rem) 0;
30
+ grid-template-rows: 1fr auto 0;
31
+ overflow: auto;
32
+
33
+ position: fixed;
34
+ inset: 0;
35
+ pointer-events: none;
36
+ z-index: 2;
37
+ padding: 1rem;
38
+ }
39
+
40
+ .notification_area {
41
+ grid-area: 2 / 2;
42
+ }
43
+
44
+ .notification {
45
+ pointer-events: all;
46
+ box-shadow: var(--notification-shadow);
47
+ border-radius: var(--content-radius);
48
+ background-color: var(--bg);
49
+
50
+ &:not(.notification_raw) {
51
+ @include common.padding(content-pad, var(--content-border));
52
+ }
53
+ }
54
+
55
+ @each $name in (default, info, success, warning, danger) {
56
+ .notification_#{$name} {
57
+ border: var(--content-border) solid var(--notification-#{$name}-border);
58
+ }
59
+ }
@@ -8,7 +8,7 @@
8
8
  dark: white,
9
9
  ),
10
10
  text-input-border: (
11
- dark: rgb(80, 80, 80),
11
+ dark: rgb(0, 0, 0),
12
12
  ),
13
13
  text-input-border-lit: (
14
14
  dark: var(--accent),
@@ -29,6 +29,7 @@
29
29
  box-shadow: var(--control-shadow);
30
30
  background-color: var(--text-input-bg);
31
31
  color: var(--text-input-fg);
32
+ line-height: calc(1em + var(--line-gap));
32
33
 
33
34
  &:focus {
34
35
  border-color: var(--text-input-border-lit);
@@ -13,6 +13,7 @@
13
13
  @forward "components/label";
14
14
  @forward "components/link";
15
15
  @forward "components/nav-list";
16
+ @forward "components/notifications";
16
17
  @forward "components/page";
17
18
  @forward "components/popover";
18
19
  @forward "components/radio-buttons";