@ratiosolver/flick 0.1.13 β 0.2.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.
- package/README.md +65 -34
- package/dist/components/app.d.ts +8 -37
- package/dist/components/app.js +70 -135
- package/dist/components/app.js.map +1 -1
- package/dist/components/brand.d.ts +15 -0
- package/dist/components/brand.js +39 -0
- package/dist/components/brand.js.map +1 -0
- package/dist/components/button.d.ts +2 -17
- package/dist/components/button.js +3 -16
- package/dist/components/button.js.map +1 -1
- package/dist/components/list.d.ts +4 -57
- package/dist/components/list.js +27 -124
- package/dist/components/list.js.map +1 -1
- package/dist/components/offcanvas.d.ts +4 -5
- package/dist/components/offcanvas.js +24 -35
- package/dist/components/offcanvas.js.map +1 -1
- package/dist/components/table.d.ts +4 -0
- package/dist/components/table.js +17 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/toast.d.ts +3 -0
- package/dist/components/toast.js +27 -0
- package/dist/components/toast.js.map +1 -0
- package/dist/flick.d.ts +10 -0
- package/dist/flick.js +21 -0
- package/dist/flick.js.map +1 -0
- package/dist/index.d.ts +3 -9
- package/dist/index.js +3 -9
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -4
package/README.md
CHANGED
|
@@ -1,29 +1,25 @@
|
|
|
1
1
|
# Flick
|
|
2
2
|
|
|
3
|
-
Flick is a tiny and focused UI framework designed for clarity and speed. It
|
|
3
|
+
Flick is a tiny and focused UI framework designed for clarity and speed. It is built on top of **[Snabbdom](https://github.com/snabbdom/snabbdom)** for efficient Virtual DOM handling and **[Bootstrap](https://getbootstrap.com/)** for styling, providing strictly typed functional components to build reactive web interfaces.
|
|
4
4
|
|
|
5
|
-
β‘
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
π Written in TypeScript
|
|
12
|
-
|
|
13
|
-
π Minimal external dependencies (relies only on Bootstrap)
|
|
5
|
+
β‘ **Fast Virtual DOM** powered by Snabbdom
|
|
6
|
+
π¨ **Bootstrap 5** Integration out-of-the-box
|
|
7
|
+
π§© **Functional Component** architecture
|
|
8
|
+
π **Written in TypeScript**
|
|
9
|
+
π **Explicit Reactivity** model
|
|
14
10
|
|
|
15
11
|
## Overview
|
|
16
12
|
|
|
17
|
-
Flick
|
|
13
|
+
Flick takes a functional approach to UI development. Instead of complex state management systems or class-based components, it relies on simple functions that return Virtual DOM nodes. Reactivity is handled explicitlyβyou update your state variables and call `flick.redraw()` to update the view.
|
|
18
14
|
|
|
19
|
-
|
|
20
|
-
- **
|
|
21
|
-
- **
|
|
22
|
-
- **
|
|
15
|
+
Key features include:
|
|
16
|
+
- **Declarative UI** β Build views using simple functions.
|
|
17
|
+
- **Built-in Components** β Ready-to-use Bootstrap components like Navbar, Offcanvas, Table, ListGroup, and Toast.
|
|
18
|
+
- **Manual Redraw Control** β Full control over when the UI updates.
|
|
23
19
|
|
|
24
20
|
## Installation
|
|
25
21
|
|
|
26
|
-
To install Flick,
|
|
22
|
+
To install Flick, use npm:
|
|
27
23
|
|
|
28
24
|
```bash
|
|
29
25
|
npm install @ratiosolver/flick
|
|
@@ -31,28 +27,63 @@ npm install @ratiosolver/flick
|
|
|
31
27
|
|
|
32
28
|
## Usage
|
|
33
29
|
|
|
34
|
-
Flick
|
|
35
|
-
|
|
36
|
-
```javascript
|
|
37
|
-
import { AppComponent } from '@ratiosolver/flick';
|
|
30
|
+
Flick exports a singleton instance `flick` to manage mounting and redrawing the application. Components are just functions that return Snabbdom VNodes.
|
|
38
31
|
|
|
39
|
-
|
|
32
|
+
Here is a simple interactive counter example:
|
|
40
33
|
|
|
41
|
-
|
|
42
|
-
|
|
34
|
+
```typescript
|
|
35
|
+
import { flick, Button, App, Navbar, OffcanvasBrand, NavbarList, NavbarItem } from '@ratiosolver/flick';
|
|
36
|
+
import { h } from 'snabbdom';
|
|
43
37
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
button.textContent = 'Click me';
|
|
47
|
-
button.onclick = () => this.increment();
|
|
48
|
-
this.element.appendChild(button);
|
|
49
|
-
}
|
|
38
|
+
// 1. Define your state
|
|
39
|
+
let count = 0;
|
|
50
40
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
41
|
+
// 2. Define actions that update state and trigger a redraw
|
|
42
|
+
function increment() {
|
|
43
|
+
count++;
|
|
44
|
+
flick.redraw();
|
|
55
45
|
}
|
|
56
46
|
|
|
57
|
-
|
|
47
|
+
// 3. Mount the application
|
|
48
|
+
flick.mount(() => {
|
|
49
|
+
// The main render function returns the entire app view
|
|
50
|
+
|
|
51
|
+
const navbar = Navbar(
|
|
52
|
+
OffcanvasBrand('Counter App'),
|
|
53
|
+
NavbarList([
|
|
54
|
+
NavbarItem('Home', () => console.log('Navigating to Home'), true)
|
|
55
|
+
])
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
const content = h('div.container.mt-5.text-center', [
|
|
59
|
+
h('h1', 'Welcome to Flick'),
|
|
60
|
+
h('p.lead', `Current count is: ${count}`),
|
|
61
|
+
Button('Increment', increment)
|
|
62
|
+
]);
|
|
63
|
+
|
|
64
|
+
// The App component typically wraps the layout
|
|
65
|
+
return App(navbar, content);
|
|
66
|
+
});
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Components
|
|
70
|
+
|
|
71
|
+
Flick provides helpers for common Bootstrap components. For example, creating a table:
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
import { Table, Row, flick } from '@ratiosolver/flick';
|
|
75
|
+
|
|
76
|
+
const headers = ['ID', 'Name', 'Role'];
|
|
77
|
+
const users = [
|
|
78
|
+
{ id: 1, name: 'Alice', role: 'Admin' },
|
|
79
|
+
{ id: 2, name: 'Bob', role: 'User' }
|
|
80
|
+
];
|
|
81
|
+
|
|
82
|
+
const UserTable = () => Table(
|
|
83
|
+
headers,
|
|
84
|
+
users.map(user => Row(
|
|
85
|
+
[user.id.toString(), user.name, user.role],
|
|
86
|
+
() => console.log(`Clicked ${user.name}`)
|
|
87
|
+
))
|
|
88
|
+
);
|
|
58
89
|
```
|
package/dist/components/app.d.ts
CHANGED
|
@@ -1,37 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export declare
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* @param icon - The source URL or path for the brand icon. Defaults to 'favicon.ico'.
|
|
10
|
-
* @param icon_width - The width of the brand icon in pixels. Defaults to 32.
|
|
11
|
-
* @param icon_height - The height of the brand icon in pixels. Defaults to 32.
|
|
12
|
-
*
|
|
13
|
-
* The constructor initializes the brand element with an icon and text,
|
|
14
|
-
* styled and aligned for use in a navigation bar.
|
|
15
|
-
*/
|
|
16
|
-
constructor(name?: string, icon?: string, icon_width?: number, icon_height?: number);
|
|
17
|
-
}
|
|
18
|
-
export declare class NavbarContent extends Component<HTMLDivElement> {
|
|
19
|
-
constructor();
|
|
20
|
-
}
|
|
21
|
-
export declare class AppComponent extends Component<HTMLDivElement> implements AppListener, ConnectionListener {
|
|
22
|
-
/**
|
|
23
|
-
* Create an instance of the AppComponent.
|
|
24
|
-
*
|
|
25
|
-
* @param {string} id The ID of the element to use as the root of the application.
|
|
26
|
-
*/
|
|
27
|
-
constructor(brand?: BrandComponent, content?: NavbarContent, id?: string);
|
|
28
|
-
toast(info: string): void;
|
|
29
|
-
selected_component(component: Component<Node> | null): void;
|
|
30
|
-
connected(): void;
|
|
31
|
-
logged_in(_info: any): void;
|
|
32
|
-
received_message(_message: any): void;
|
|
33
|
-
disconnected(): void;
|
|
34
|
-
logged_out(): void;
|
|
35
|
-
connection_error(_error: any): void;
|
|
36
|
-
unmounting(): void;
|
|
37
|
-
}
|
|
1
|
+
import { VNode, VNodeChildren } from 'snabbdom';
|
|
2
|
+
export declare function Brand(content: VNodeChildren, onClick?: () => void): VNode;
|
|
3
|
+
export declare function OffcanvasBrand(content: VNodeChildren, id?: string): VNode;
|
|
4
|
+
export declare function IconBrand(icon: string, width?: number, height?: number, name?: string, onClick?: () => void): VNode;
|
|
5
|
+
export declare function NavbarItem(text: string, onClick?: () => void, active?: boolean): VNode;
|
|
6
|
+
export declare function NavbarList(items: VNodeChildren[]): VNode;
|
|
7
|
+
export declare function Navbar(brand?: VNodeChildren, navbar_content?: VNodeChildren, id?: string): VNode;
|
|
8
|
+
export declare function App(navbar?: VNodeChildren, content?: VNodeChildren): VNode;
|
package/dist/components/app.js
CHANGED
|
@@ -1,141 +1,76 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
this.node.classList.add('navbar', 'navbar-expand-lg');
|
|
9
|
-
this.add_child(new NavbarContainer(brand, content));
|
|
10
|
-
}
|
|
1
|
+
import { Offcanvas } from 'bootstrap';
|
|
2
|
+
import { h } from 'snabbdom';
|
|
3
|
+
export function Brand(content, onClick) {
|
|
4
|
+
return h('a.navbar-brand', {
|
|
5
|
+
style: { cursor: onClick ? 'pointer' : 'default' },
|
|
6
|
+
on: { click: onClick || (() => { }) }
|
|
7
|
+
}, content);
|
|
11
8
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
toggler.setAttribute('aria-controls', 'navbarContent');
|
|
23
|
-
toggler.setAttribute('aria-expanded', 'false');
|
|
24
|
-
toggler.setAttribute('aria-label', 'Toggle navigation');
|
|
25
|
-
const toggler_span = document.createElement('span');
|
|
26
|
-
toggler_span.classList.add('navbar-toggler-icon');
|
|
27
|
-
toggler.appendChild(toggler_span);
|
|
28
|
-
this.node.appendChild(toggler);
|
|
29
|
-
// Add the content..
|
|
30
|
-
this.add_child(content);
|
|
31
|
-
toggler.addEventListener('click', (event) => {
|
|
32
|
-
event.preventDefault();
|
|
33
|
-
Collapse.getOrCreateInstance(content.node).toggle();
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
export class BrandComponent extends Component {
|
|
38
|
-
/**
|
|
39
|
-
* Creates a new brand component for the navigation bar.
|
|
40
|
-
*
|
|
41
|
-
* @param name - The display name of the brand. Defaults to 'Flick'.
|
|
42
|
-
* @param icon - The source URL or path for the brand icon. Defaults to 'favicon.ico'.
|
|
43
|
-
* @param icon_width - The width of the brand icon in pixels. Defaults to 32.
|
|
44
|
-
* @param icon_height - The height of the brand icon in pixels. Defaults to 32.
|
|
45
|
-
*
|
|
46
|
-
* The constructor initializes the brand element with an icon and text,
|
|
47
|
-
* styled and aligned for use in a navigation bar.
|
|
48
|
-
*/
|
|
49
|
-
constructor(name = 'Flick', icon = 'favicon.ico', icon_width = 32, icon_height = 32) {
|
|
50
|
-
super(document.createElement('a'));
|
|
51
|
-
this.node.classList.add('navbar-brand', 'd-flex', 'align-items-center', 'gap-2');
|
|
52
|
-
this.node.style.display = 'flex';
|
|
53
|
-
this.node.style.alignItems = 'center';
|
|
54
|
-
this.node.style.gap = '0.5rem'; // Add space between icon and text
|
|
55
|
-
const brand_icon = document.createElement('img');
|
|
56
|
-
brand_icon.src = icon;
|
|
57
|
-
brand_icon.alt = name;
|
|
58
|
-
brand_icon.width = icon_width;
|
|
59
|
-
brand_icon.height = icon_height;
|
|
60
|
-
brand_icon.classList.add('d-inline-block', 'align-text-top');
|
|
61
|
-
this.node.appendChild(brand_icon);
|
|
62
|
-
if (name) {
|
|
63
|
-
brand_icon.classList.add('me-1');
|
|
64
|
-
const brand_text = document.createElement('span');
|
|
65
|
-
brand_text.textContent = name;
|
|
66
|
-
brand_text.style.fontWeight = '500'; // Make text slightly bolder
|
|
67
|
-
this.node.appendChild(brand_text);
|
|
9
|
+
export function OffcanvasBrand(content, id = 'offcanvasNavbar') {
|
|
10
|
+
return h('a.navbar-brand', {
|
|
11
|
+
style: { cursor: 'pointer' },
|
|
12
|
+
attrs: { 'aria-controls': id },
|
|
13
|
+
on: {
|
|
14
|
+
click: () => {
|
|
15
|
+
const el = document.getElementById(id);
|
|
16
|
+
if (el)
|
|
17
|
+
Offcanvas.getOrCreateInstance(el).show();
|
|
18
|
+
}
|
|
68
19
|
}
|
|
69
|
-
}
|
|
20
|
+
}, content);
|
|
21
|
+
}
|
|
22
|
+
export function IconBrand(icon, width = 30, height = 30, name, onClick) {
|
|
23
|
+
return h('a.navbar-brand', [
|
|
24
|
+
h('img', {
|
|
25
|
+
style: { cursor: onClick ? 'pointer' : 'default' },
|
|
26
|
+
props: {
|
|
27
|
+
src: icon,
|
|
28
|
+
width: width,
|
|
29
|
+
height: height,
|
|
30
|
+
alt: name || 'Brand Icon'
|
|
31
|
+
},
|
|
32
|
+
on: { click: onClick || (() => { }) }
|
|
33
|
+
}),
|
|
34
|
+
name ? ` ${name}` : ''
|
|
35
|
+
]);
|
|
36
|
+
}
|
|
37
|
+
export function NavbarItem(text, onClick, active = false) {
|
|
38
|
+
return h('li.nav-item', { style: { cursor: 'pointer' } }, [
|
|
39
|
+
h('a.nav-link', {
|
|
40
|
+
class: { active },
|
|
41
|
+
on: { click: onClick || (() => { }) }
|
|
42
|
+
}, text)
|
|
43
|
+
]);
|
|
44
|
+
}
|
|
45
|
+
export function NavbarList(items) {
|
|
46
|
+
return h('ul.navbar-nav.me-auto.mb-2.mb-lg-0', items);
|
|
70
47
|
}
|
|
71
|
-
export
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
48
|
+
export function Navbar(brand = Brand('Flick'), navbar_content, id = 'navbarSupportedContent') {
|
|
49
|
+
return h('nav.navbar.navbar-expand-lg.bg-body-tertiary', [
|
|
50
|
+
h('div.container-fluid', [
|
|
51
|
+
brand,
|
|
52
|
+
h('button.navbar-toggler', {
|
|
53
|
+
props: {
|
|
54
|
+
type: 'button'
|
|
55
|
+
},
|
|
56
|
+
attrs: {
|
|
57
|
+
'data-bs-toggle': 'collapse',
|
|
58
|
+
'data-bs-target': `#${id}`,
|
|
59
|
+
'aria-controls': id,
|
|
60
|
+
'aria-expanded': 'false',
|
|
61
|
+
'aria-label': 'Toggle navigation'
|
|
62
|
+
}
|
|
63
|
+
}, [
|
|
64
|
+
h('span.navbar-toggler-icon')
|
|
65
|
+
]),
|
|
66
|
+
h(`div#${id}.collapse.navbar-collapse`, navbar_content)
|
|
67
|
+
])
|
|
68
|
+
]);
|
|
77
69
|
}
|
|
78
|
-
export
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
*/
|
|
84
|
-
constructor(brand = new BrandComponent(), content = new NavbarContent(), id = 'app') {
|
|
85
|
-
super(document.querySelector('#' + id));
|
|
86
|
-
this.node.classList.add('d-flex', 'flex-column', 'h-100');
|
|
87
|
-
const fragment = new Fragment();
|
|
88
|
-
fragment.add_child(new NavbarComponent(brand, content));
|
|
89
|
-
// Add the toast container..
|
|
90
|
-
const toast_container = document.createElement('div');
|
|
91
|
-
toast_container.classList.add('toast-container', 'position-fixed', 'bottom-0', 'end-0', 'p-3');
|
|
92
|
-
fragment.node.appendChild(toast_container);
|
|
93
|
-
fragment.attach_to(this);
|
|
94
|
-
App.get_instance().add_app_listener(this);
|
|
95
|
-
Connection.get_instance().add_connection_listener(this);
|
|
96
|
-
}
|
|
97
|
-
toast(info) {
|
|
98
|
-
const toast_container = this.node.querySelector('.toast-container');
|
|
99
|
-
const toast = document.createElement('div');
|
|
100
|
-
toast.classList.add('toast');
|
|
101
|
-
toast.setAttribute('role', 'alert');
|
|
102
|
-
toast.setAttribute('aria-live', 'assertive');
|
|
103
|
-
toast.setAttribute('aria-atomic', 'true');
|
|
104
|
-
toast.setAttribute('data-bs-autohide', 'true');
|
|
105
|
-
toast.setAttribute('data-bs-delay', '5000');
|
|
106
|
-
const toast_header = document.createElement('div');
|
|
107
|
-
toast_header.classList.add('toast-header');
|
|
108
|
-
const toast_title = document.createElement('strong');
|
|
109
|
-
toast_title.classList.add('me-auto');
|
|
110
|
-
toast_title.innerText = 'Info';
|
|
111
|
-
toast_header.appendChild(toast_title);
|
|
112
|
-
const toast_button = document.createElement('button');
|
|
113
|
-
toast_button.classList.add('btn-close');
|
|
114
|
-
toast_button.setAttribute('type', 'button');
|
|
115
|
-
toast_button.setAttribute('data-bs-dismiss', 'toast');
|
|
116
|
-
toast_button.setAttribute('aria-label', 'Close');
|
|
117
|
-
toast_header.appendChild(toast_button);
|
|
118
|
-
toast.appendChild(toast_header);
|
|
119
|
-
const toast_body = document.createElement('div');
|
|
120
|
-
toast_body.classList.add('toast-body');
|
|
121
|
-
toast_body.innerText = info;
|
|
122
|
-
toast.appendChild(toast_body);
|
|
123
|
-
toast_container.appendChild(toast);
|
|
124
|
-
setTimeout(() => toast.remove(), 5000);
|
|
125
|
-
}
|
|
126
|
-
selected_component(component) {
|
|
127
|
-
if (component)
|
|
128
|
-
this.add_child(component);
|
|
129
|
-
}
|
|
130
|
-
connected() { }
|
|
131
|
-
logged_in(_info) { }
|
|
132
|
-
received_message(_message) { }
|
|
133
|
-
disconnected() { }
|
|
134
|
-
logged_out() { }
|
|
135
|
-
connection_error(_error) { }
|
|
136
|
-
unmounting() {
|
|
137
|
-
App.get_instance().remove_app_listener(this);
|
|
138
|
-
Connection.get_instance().remove_connection_listener(this);
|
|
139
|
-
}
|
|
70
|
+
export function App(navbar = Navbar(), content) {
|
|
71
|
+
return h('div', [
|
|
72
|
+
navbar,
|
|
73
|
+
content
|
|
74
|
+
]);
|
|
140
75
|
}
|
|
141
76
|
//# sourceMappingURL=app.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/components/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/components/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,CAAC,EAAwB,MAAM,UAAU,CAAC;AAEnD,MAAM,UAAU,KAAK,CAAC,OAAsB,EAAE,OAAoB;IAChE,OAAO,CAAC,CAAC,gBAAgB,EACvB;QACE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE;QAClD,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE;KACtC,EAAE,OAAO,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAsB,EAAE,KAAa,iBAAiB;IACnF,OAAO,CAAC,CAAC,gBAAgB,EAAE;QACzB,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;QAC5B,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE;QAC9B,EAAE,EAAE;YACF,KAAK,EAAE,GAAG,EAAE;gBACV,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBACvC,IAAI,EAAE;oBACJ,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7C,CAAC;SACF;KACF,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAE,SAAiB,EAAE,EAAE,IAAa,EAAE,OAAoB;IAClH,OAAO,CAAC,CAAC,gBAAgB,EAAE;QACzB,CAAC,CAAC,KAAK,EAAE;YACP,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE;YAClD,KAAK,EAAE;gBACL,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,IAAI,IAAI,YAAY;aAC1B;YACD,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE;SACtC,CAAC;QACF,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;KACvB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,OAAoB,EAAE,SAAkB,KAAK;IACpF,OAAO,CAAC,CAAC,aAAa,EACpB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;QAClC,CAAC,CAAC,YAAY,EAAE;YACd,KAAK,EAAE,EAAE,MAAM,EAAE;YACjB,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE;SACtC,EAAE,IAAI,CAAC;KACT,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,OAAO,CAAC,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,QAAuB,KAAK,CAAC,OAAO,CAAC,EAAE,cAA8B,EAAE,EAAE,GAAG,wBAAwB;IACzH,OAAO,CAAC,CAAC,8CAA8C,EAAE;QACvD,CAAC,CAAC,qBAAqB,EAAE;YACvB,KAAK;YACL,CAAC,CAAC,uBAAuB,EAAE;gBACzB,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;gBACD,KAAK,EAAE;oBACL,gBAAgB,EAAE,UAAU;oBAC5B,gBAAgB,EAAE,IAAI,EAAE,EAAE;oBAC1B,eAAe,EAAE,EAAE;oBACnB,eAAe,EAAE,OAAO;oBACxB,YAAY,EAAE,mBAAmB;iBAClC;aACF,EAAE;gBACD,CAAC,CAAC,0BAA0B,CAAC;aAC9B,CAAC;YACF,CAAC,CAAC,OAAO,EAAE,2BAA2B,EAAE,cAAc,CAAC;SACxD,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,SAAwB,MAAM,EAAE,EAAE,OAAuB;IAC3E,OAAO,CAAC,CAAC,KAAK,EAAE;QACd,MAAM;QACN,OAAO;KACR,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Component } from "../app";
|
|
2
|
+
export declare class BrandComponent extends Component<void, HTMLAnchorElement> {
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new brand component for the navigation bar.
|
|
5
|
+
*
|
|
6
|
+
* @param name - The display name of the brand. Defaults to 'Flick'.
|
|
7
|
+
* @param icon - The source URL or path for the brand icon. Defaults to 'favicon.ico'.
|
|
8
|
+
* @param icon_width - The width of the brand icon in pixels. Defaults to 32.
|
|
9
|
+
* @param icon_height - The height of the brand icon in pixels. Defaults to 32.
|
|
10
|
+
*
|
|
11
|
+
* The constructor initializes the brand element with an icon and text,
|
|
12
|
+
* styled and aligned for use in a navigation bar.
|
|
13
|
+
*/
|
|
14
|
+
constructor(name?: string, icon?: string, icon_width?: number, icon_height?: number);
|
|
15
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Component } from "../app";
|
|
2
|
+
export class BrandComponent extends Component {
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new brand component for the navigation bar.
|
|
5
|
+
*
|
|
6
|
+
* @param name - The display name of the brand. Defaults to 'Flick'.
|
|
7
|
+
* @param icon - The source URL or path for the brand icon. Defaults to 'favicon.ico'.
|
|
8
|
+
* @param icon_width - The width of the brand icon in pixels. Defaults to 32.
|
|
9
|
+
* @param icon_height - The height of the brand icon in pixels. Defaults to 32.
|
|
10
|
+
*
|
|
11
|
+
* The constructor initializes the brand element with an icon and text,
|
|
12
|
+
* styled and aligned for use in a navigation bar.
|
|
13
|
+
*/
|
|
14
|
+
constructor(name = 'Flick', icon = 'favicon.ico', icon_width = 32, icon_height = 32) {
|
|
15
|
+
super(undefined, document.createElement('a'));
|
|
16
|
+
this.element.classList.add('navbar-brand');
|
|
17
|
+
this.element.href = '#';
|
|
18
|
+
const brand_container = document.createElement('div');
|
|
19
|
+
brand_container.style.display = 'flex';
|
|
20
|
+
brand_container.style.alignItems = 'center';
|
|
21
|
+
brand_container.style.gap = '0.5rem'; // Add space between icon and text
|
|
22
|
+
const brand_icon = document.createElement('img');
|
|
23
|
+
brand_icon.src = icon;
|
|
24
|
+
brand_icon.alt = name;
|
|
25
|
+
brand_icon.width = icon_width;
|
|
26
|
+
brand_icon.height = icon_height;
|
|
27
|
+
brand_icon.classList.add('d-inline-block', 'align-text-top');
|
|
28
|
+
brand_container.appendChild(brand_icon);
|
|
29
|
+
if (name) {
|
|
30
|
+
brand_icon.classList.add('me-1');
|
|
31
|
+
const brand_text = document.createElement('span');
|
|
32
|
+
brand_text.textContent = name;
|
|
33
|
+
brand_text.style.fontWeight = '500'; // Make text slightly bolder
|
|
34
|
+
brand_container.appendChild(brand_text);
|
|
35
|
+
}
|
|
36
|
+
this.element.appendChild(brand_container);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=brand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand.js","sourceRoot":"","sources":["../../src/components/brand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,OAAO,cAAe,SAAQ,SAAkC;IAEpE;;;;;;;;;;OAUG;IACH,YAAY,OAAe,OAAO,EAAE,OAAe,aAAa,EAAE,aAAqB,EAAE,EAAE,cAAsB,EAAE;QACjH,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC;QAExB,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,eAAe,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACvC,eAAe,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC5C,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,kCAAkC;QAExE,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC;QAC9B,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;QAChC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QAC7D,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAExC,IAAI,IAAI,EAAE,CAAC;YACT,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEjC,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAClD,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;YAC9B,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,4BAA4B;YAEjE,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAC5C,CAAC;CACF"}
|
|
@@ -1,17 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
* Represents a button component that extends {@link PayloadComponent} with a payload of type `P`.
|
|
4
|
-
*
|
|
5
|
-
* This component creates an HTML `<button>` element and associates it with the provided payload.
|
|
6
|
-
*
|
|
7
|
-
* @typeParam P - The type of the payload associated with the button.
|
|
8
|
-
* @extends PayloadComponent<HTMLButtonElement, P>
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```typescript
|
|
12
|
-
* const button = new ButtonComponent<MyPayloadType>(payload);
|
|
13
|
-
* ```
|
|
14
|
-
*/
|
|
15
|
-
export declare class ButtonComponent<P> extends PayloadComponent<HTMLButtonElement, P> {
|
|
16
|
-
constructor(payload: P);
|
|
17
|
-
}
|
|
1
|
+
import { VNode, VNodeChildren } from 'snabbdom';
|
|
2
|
+
export declare function Button(content: VNodeChildren, onClick: () => void): VNode;
|
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*
|
|
5
|
-
* This component creates an HTML `<button>` element and associates it with the provided payload.
|
|
6
|
-
*
|
|
7
|
-
* @typeParam P - The type of the payload associated with the button.
|
|
8
|
-
* @extends PayloadComponent<HTMLButtonElement, P>
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```typescript
|
|
12
|
-
* const button = new ButtonComponent<MyPayloadType>(payload);
|
|
13
|
-
* ```
|
|
14
|
-
*/
|
|
15
|
-
export class ButtonComponent extends PayloadComponent {
|
|
16
|
-
constructor(payload) { super(document.createElement('button'), payload); }
|
|
1
|
+
import { h } from 'snabbdom';
|
|
2
|
+
export function Button(content, onClick) {
|
|
3
|
+
return h('button.btn.btn-primary', { on: { click: onClick } }, content);
|
|
17
4
|
}
|
|
18
5
|
//# sourceMappingURL=button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/components/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/components/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAwB,MAAM,UAAU,CAAC;AAEnD,MAAM,UAAU,MAAM,CAAC,OAAsB,EAAE,OAAmB;IAChE,OAAO,CAAC,CAAC,wBAAwB,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -1,57 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare
|
|
4
|
-
|
|
5
|
-
compareFn: (a: P, b: P) => number;
|
|
6
|
-
constructor(node: L, children: PayloadComponent<Node, P>[], compareFn?: (a: P, b: P) => number);
|
|
7
|
-
add_child(child: PayloadComponent<Node, P>): void;
|
|
8
|
-
remove_child(child: PayloadComponent<Node, P>): void;
|
|
9
|
-
}
|
|
10
|
-
export declare class UListComponent<P> extends ListComponent<HTMLUListElement, P> {
|
|
11
|
-
constructor(payload: PayloadComponent<HTMLLIElement, P>[], compareFn?: (a: P, b: P) => number);
|
|
12
|
-
}
|
|
13
|
-
export declare class OListComponent<P> extends ListComponent<HTMLOListElement, P> {
|
|
14
|
-
constructor(payload: PayloadComponent<HTMLLIElement, P>[], compareFn?: (a: P, b: P) => number);
|
|
15
|
-
}
|
|
16
|
-
export declare class DivListComponent<P> extends ListComponent<HTMLDivElement, P> {
|
|
17
|
-
constructor(payload: PayloadComponent<HTMLDivElement, P>[], compareFn?: (a: P, b: P) => number);
|
|
18
|
-
}
|
|
19
|
-
export declare class ListItemComponent<P> extends PayloadComponent<HTMLLIElement, P> implements Selector {
|
|
20
|
-
private readonly group;
|
|
21
|
-
private readonly a;
|
|
22
|
-
private icn;
|
|
23
|
-
private text;
|
|
24
|
-
/**
|
|
25
|
-
* Creates an instance of UListElement.
|
|
26
|
-
*
|
|
27
|
-
* @param group The selector group this element belongs to.
|
|
28
|
-
* @param payload The payload associated with this element.
|
|
29
|
-
* @param icn The icon element to be displayed in the list item.
|
|
30
|
-
* @param text The text content of the list item.
|
|
31
|
-
*/
|
|
32
|
-
constructor(group: SelectorGroup, payload: P, icn: Element, text: string);
|
|
33
|
-
set_icon(icn: Element): void;
|
|
34
|
-
set_text(text: string): void;
|
|
35
|
-
unmounting(): void;
|
|
36
|
-
select(): void;
|
|
37
|
-
unselect(): void;
|
|
38
|
-
}
|
|
39
|
-
export declare class CheckboxListItemComponent<P> extends PayloadComponent<HTMLLIElement, P> implements Selector {
|
|
40
|
-
private readonly input;
|
|
41
|
-
private readonly label;
|
|
42
|
-
private icn;
|
|
43
|
-
private text;
|
|
44
|
-
/**
|
|
45
|
-
* Creates an instance of CheckboxListItemComponent.
|
|
46
|
-
*
|
|
47
|
-
* @param payload The payload associated with this element.
|
|
48
|
-
* @param id The unique identifier for the checkbox input element.
|
|
49
|
-
* @param icn The icon element to be displayed in the list item.
|
|
50
|
-
* @param text The text content of the list item.
|
|
51
|
-
*/
|
|
52
|
-
constructor(payload: P, id: string, icn: Element, text: string);
|
|
53
|
-
set_icon(icn: Element): void;
|
|
54
|
-
set_text(text: string): void;
|
|
55
|
-
select(): void;
|
|
56
|
-
unselect(): void;
|
|
57
|
-
}
|
|
1
|
+
import { VNode, VNodeChildren } from 'snabbdom';
|
|
2
|
+
export declare function ListGroupItem(content: VNodeChildren, onClick?: () => void, active?: boolean, disabled?: boolean): VNode;
|
|
3
|
+
export declare function ListGroupCheckbox(text: string, checked?: boolean, onToggle?: (checked: boolean) => void, disabled?: boolean): VNode;
|
|
4
|
+
export declare function ListGroup(items: VNodeChildren[]): VNode;
|
package/dist/components/list.js
CHANGED
|
@@ -1,128 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
fragment.add_child(child);
|
|
12
|
-
fragment.attach_to(this);
|
|
13
|
-
}
|
|
14
|
-
add_child(child) {
|
|
15
|
-
this.children.push(child);
|
|
16
|
-
this.children.sort((a, b) => this.compareFn(a.payload, b.payload));
|
|
17
|
-
const index = this.children.indexOf(child);
|
|
18
|
-
if (index === this.children.length - 1)
|
|
19
|
-
super.add_child(child);
|
|
20
|
-
else
|
|
21
|
-
super.add_child_before(child, this.children[index + 1].node);
|
|
22
|
-
}
|
|
23
|
-
remove_child(child) {
|
|
24
|
-
const index = this.children.indexOf(child);
|
|
25
|
-
if (index !== -1) {
|
|
26
|
-
this.children.splice(index, 1);
|
|
27
|
-
super.remove_child(child);
|
|
28
|
-
}
|
|
29
|
-
else
|
|
30
|
-
throw new Error('Child not found');
|
|
31
|
-
}
|
|
1
|
+
import { h } from 'snabbdom';
|
|
2
|
+
export function ListGroupItem(content, onClick, active = false, disabled = false) {
|
|
3
|
+
return h('button.list-group-item.list-group-item-action' + (active ? '.active.rounded' : ''), {
|
|
4
|
+
props: {
|
|
5
|
+
type: 'button',
|
|
6
|
+
disabled: disabled
|
|
7
|
+
},
|
|
8
|
+
attrs: { 'aria-current': active ? 'true' : 'false' },
|
|
9
|
+
on: { click: onClick || (() => { }) }
|
|
10
|
+
}, content);
|
|
32
11
|
}
|
|
33
|
-
export
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
12
|
+
export function ListGroupCheckbox(text, checked = false, onToggle, disabled = false) {
|
|
13
|
+
return h('label.list-group-item', {
|
|
14
|
+
class: { 'disabled': disabled }
|
|
15
|
+
}, [
|
|
16
|
+
h('input.form-check-input.me-2', {
|
|
17
|
+
props: {
|
|
18
|
+
type: 'checkbox',
|
|
19
|
+
checked: checked,
|
|
20
|
+
disabled: disabled,
|
|
21
|
+
value: ''
|
|
22
|
+
},
|
|
23
|
+
on: { change: (event) => onToggle && onToggle(event.target.checked) }
|
|
24
|
+
}),
|
|
25
|
+
text
|
|
26
|
+
]);
|
|
37
27
|
}
|
|
38
|
-
export
|
|
39
|
-
|
|
40
|
-
super(document.createElement('ol'), payload, compareFn);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
export class DivListComponent extends ListComponent {
|
|
44
|
-
constructor(payload, compareFn) {
|
|
45
|
-
super(document.createElement('div'), payload, compareFn);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
export class ListItemComponent extends PayloadComponent {
|
|
49
|
-
/**
|
|
50
|
-
* Creates an instance of UListElement.
|
|
51
|
-
*
|
|
52
|
-
* @param group The selector group this element belongs to.
|
|
53
|
-
* @param payload The payload associated with this element.
|
|
54
|
-
* @param icn The icon element to be displayed in the list item.
|
|
55
|
-
* @param text The text content of the list item.
|
|
56
|
-
*/
|
|
57
|
-
constructor(group, payload, icn, text) {
|
|
58
|
-
super(document.createElement('li'), payload);
|
|
59
|
-
this.group = group;
|
|
60
|
-
this.node.classList.add('nav-item', 'list-group-item');
|
|
61
|
-
this.a = document.createElement('a');
|
|
62
|
-
this.a.classList.add('nav-link', 'd-flex', 'align-items-center');
|
|
63
|
-
this.a.href = '#';
|
|
64
|
-
this.icn = icn;
|
|
65
|
-
this.icn.classList.add('me-2');
|
|
66
|
-
this.a.append(this.icn);
|
|
67
|
-
this.text = document.createTextNode(text);
|
|
68
|
-
this.a.append(this.text);
|
|
69
|
-
this.a.addEventListener('click', (event) => {
|
|
70
|
-
event.preventDefault();
|
|
71
|
-
this.group.set_selected(this);
|
|
72
|
-
});
|
|
73
|
-
this.node.append(this.a);
|
|
74
|
-
this.group.add_selector(this);
|
|
75
|
-
}
|
|
76
|
-
set_icon(icn) {
|
|
77
|
-
this.icn.replaceWith(icn);
|
|
78
|
-
this.icn = icn;
|
|
79
|
-
this.icn.classList.add('me-2');
|
|
80
|
-
}
|
|
81
|
-
set_text(text) { this.text.textContent = text; }
|
|
82
|
-
unmounting() { this.group.remove_selector(this); }
|
|
83
|
-
select() { this.a.classList.add('active'); }
|
|
84
|
-
unselect() { this.a.classList.remove('active'); }
|
|
85
|
-
}
|
|
86
|
-
export class CheckboxListItemComponent extends PayloadComponent {
|
|
87
|
-
/**
|
|
88
|
-
* Creates an instance of CheckboxListItemComponent.
|
|
89
|
-
*
|
|
90
|
-
* @param payload The payload associated with this element.
|
|
91
|
-
* @param id The unique identifier for the checkbox input element.
|
|
92
|
-
* @param icn The icon element to be displayed in the list item.
|
|
93
|
-
* @param text The text content of the list item.
|
|
94
|
-
*/
|
|
95
|
-
constructor(payload, id, icn, text) {
|
|
96
|
-
super(document.createElement('li'), payload);
|
|
97
|
-
this.node.classList.add('list-group-item', 'd-flex', 'align-items-center');
|
|
98
|
-
this.input = document.createElement('input');
|
|
99
|
-
this.input.type = 'checkbox';
|
|
100
|
-
this.input.id = id;
|
|
101
|
-
this.input.classList.add('form-check-input', 'me-2');
|
|
102
|
-
this.input.addEventListener('change', () => {
|
|
103
|
-
if (this.input.checked)
|
|
104
|
-
this.select();
|
|
105
|
-
else
|
|
106
|
-
this.unselect();
|
|
107
|
-
});
|
|
108
|
-
this.node.append(this.input);
|
|
109
|
-
this.label = document.createElement('label');
|
|
110
|
-
this.label.classList.add('form-check-label', 'd-flex', 'align-items-center', 'flex-grow-1', 'mb-0');
|
|
111
|
-
this.label.htmlFor = id;
|
|
112
|
-
this.icn = icn;
|
|
113
|
-
this.icn.classList.add('me-2');
|
|
114
|
-
this.label.append(this.icn);
|
|
115
|
-
this.text = document.createTextNode(text);
|
|
116
|
-
this.label.append(this.text);
|
|
117
|
-
this.node.append(this.label);
|
|
118
|
-
}
|
|
119
|
-
set_icon(icn) {
|
|
120
|
-
this.icn.replaceWith(icn);
|
|
121
|
-
this.icn = icn;
|
|
122
|
-
this.icn.classList.add('me-2');
|
|
123
|
-
}
|
|
124
|
-
set_text(text) { this.text.textContent = text; }
|
|
125
|
-
select() { }
|
|
126
|
-
unselect() { }
|
|
28
|
+
export function ListGroup(items) {
|
|
29
|
+
return h('div.list-group.list-group-flush', items);
|
|
127
30
|
}
|
|
128
31
|
//# sourceMappingURL=list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/components/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/components/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAwB,MAAM,UAAU,CAAC;AAEnD,MAAM,UAAU,aAAa,CAAC,OAAsB,EAAE,OAAoB,EAAE,SAAkB,KAAK,EAAE,WAAoB,KAAK;IAC5H,OAAO,CAAC,CAAC,+CAA+C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAC5F,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,QAAQ;SACnB;QACD,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE;QACpD,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE;KACtC,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,UAAmB,KAAK,EAAE,QAAqC,EAAE,WAAoB,KAAK;IACxI,OAAO,CAAC,CAAC,uBAAuB,EAAE;QAChC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;KAChC,EAAE;QACD,CAAC,CAAC,6BAA6B,EAAE;YAC/B,KAAK,EAAE;gBACL,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,EAAE;aACV;YACD,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAE,KAAK,CAAC,MAA2B,CAAC,OAAO,CAAC,EAAE;SACnG,CAAC;QACF,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAsB;IAC9C,OAAO,CAAC,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare
|
|
4
|
-
|
|
5
|
-
}
|
|
1
|
+
import { VNode, VNodeChildren } from 'snabbdom';
|
|
2
|
+
export declare function OffcanvasHeader(title: string, id?: string): VNode;
|
|
3
|
+
export declare function OffcanvasBody(content: VNodeChildren): VNode;
|
|
4
|
+
export declare function Offcanvas(body: VNode, header?: VNode, id?: string): VNode;
|
|
@@ -1,39 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const ul = document.createElement('ul');
|
|
11
|
-
ul.classList.add('nav', 'nav-pills', 'flex-column', 'mb-auto');
|
|
12
|
-
for (const [a, sel] of top) {
|
|
13
|
-
const li = document.createElement('li');
|
|
14
|
-
li.classList.add('nav-item');
|
|
15
|
-
a.classList.add('nav-link');
|
|
16
|
-
group.add_selector(sel);
|
|
17
|
-
li.appendChild(a);
|
|
18
|
-
ul.appendChild(li);
|
|
19
|
-
}
|
|
20
|
-
body.appendChild(ul);
|
|
21
|
-
if (bottom) {
|
|
22
|
-
const hr = document.createElement('hr');
|
|
23
|
-
body.appendChild(hr);
|
|
24
|
-
const footer_ul = document.createElement('ul');
|
|
25
|
-
footer_ul.classList.add('nav', 'nav-pills', 'flex-column', 'mb-0');
|
|
26
|
-
for (const [a, sel] of bottom) {
|
|
27
|
-
const li = document.createElement('li');
|
|
28
|
-
li.classList.add('nav-item');
|
|
29
|
-
a.classList.add('nav-link');
|
|
30
|
-
group.add_selector(sel);
|
|
31
|
-
li.appendChild(a);
|
|
32
|
-
footer_ul.appendChild(li);
|
|
1
|
+
import { h } from 'snabbdom';
|
|
2
|
+
import { Offcanvas as BootstrapOffcanvas } from 'bootstrap';
|
|
3
|
+
export function OffcanvasHeader(title, id = 'offcanvasNavbar') {
|
|
4
|
+
return h('div.offcanvas-header', [
|
|
5
|
+
h('h5.offcanvas-title', { props: { id: `${id}Label` } }, title),
|
|
6
|
+
h('button.btn-close', {
|
|
7
|
+
attrs: {
|
|
8
|
+
'data-bs-dismiss': 'offcanvas',
|
|
9
|
+
'aria-label': 'Close'
|
|
33
10
|
}
|
|
34
|
-
|
|
11
|
+
})
|
|
12
|
+
]);
|
|
13
|
+
}
|
|
14
|
+
export function OffcanvasBody(content) {
|
|
15
|
+
return h('div.offcanvas-body', content);
|
|
16
|
+
}
|
|
17
|
+
export function Offcanvas(body, header, id = 'offcanvasNavbar') {
|
|
18
|
+
return h(`div#${id}.offcanvas.offcanvas-start`, {
|
|
19
|
+
key: id,
|
|
20
|
+
props: { tabindex: -1 },
|
|
21
|
+
attrs: { 'aria-labelledby': `${id}Label` },
|
|
22
|
+
hook: {
|
|
23
|
+
insert: (vnode) => BootstrapOffcanvas.getOrCreateInstance(vnode.elm),
|
|
24
|
+
destroy: (vnode) => { var _a; return (_a = BootstrapOffcanvas.getInstance(vnode.elm)) === null || _a === void 0 ? void 0 : _a.hide(); }
|
|
35
25
|
}
|
|
36
|
-
|
|
37
|
-
}
|
|
26
|
+
}, [header, body]);
|
|
38
27
|
}
|
|
39
28
|
//# sourceMappingURL=offcanvas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offcanvas.js","sourceRoot":"","sources":["../../src/components/offcanvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"offcanvas.js","sourceRoot":"","sources":["../../src/components/offcanvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAwB,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE5D,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,KAAa,iBAAiB;IAC3E,OAAO,CAAC,CAAC,sBAAsB,EAAE;QAC/B,CAAC,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC;QAC/D,CAAC,CAAC,kBAAkB,EAAE;YACpB,KAAK,EAAE;gBACL,iBAAiB,EAAE,WAAW;gBAC9B,YAAY,EAAE,OAAO;aACtB;SACF,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAsB;IAClD,OAAO,CAAC,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAW,EAAE,MAAc,EAAE,KAAa,iBAAiB;IACnF,OAAO,CAAC,CAAC,OAAO,EAAE,4BAA4B,EAAE;QAC9C,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE;QACvB,KAAK,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,OAAO,EAAE;QAC1C,IAAI,EAAE;YACJ,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAkB,CAAC;YACnF,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,GAAkB,CAAC,0CAAE,IAAI,EAAE,CAAA,EAAA;SACrF;KACF,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { VNode, VNodeChildren } from 'snabbdom';
|
|
2
|
+
export declare function Header(cells: VNodeChildren[]): VNode;
|
|
3
|
+
export declare function Row(cells: VNodeChildren[], onClick?: () => void, active?: boolean): VNode;
|
|
4
|
+
export declare function Table(header: VNodeChildren[], rows: VNode[]): VNode;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { h } from 'snabbdom';
|
|
2
|
+
export function Header(cells) {
|
|
3
|
+
return h('tr', cells.map(cell => h('th', { props: { scope: 'col' } }, cell)));
|
|
4
|
+
}
|
|
5
|
+
export function Row(cells, onClick, active = false) {
|
|
6
|
+
return h('tr' + (active ? '.table-active' : ''), {
|
|
7
|
+
style: { cursor: onClick ? 'pointer' : 'default' },
|
|
8
|
+
on: { click: onClick || (() => { }) }
|
|
9
|
+
}, cells.map(cell => h('td', cell)));
|
|
10
|
+
}
|
|
11
|
+
export function Table(header, rows) {
|
|
12
|
+
return h('table.table.table-striped.table-hover', [
|
|
13
|
+
h('thead', Header(header)),
|
|
14
|
+
h('tbody', rows)
|
|
15
|
+
]);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/components/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAwB,MAAM,UAAU,CAAC;AAEnD,MAAM,UAAU,MAAM,CAAC,KAAsB;IAC3C,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAE,OAAoB,EAAE,SAAkB,KAAK;IACvF,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAC/C,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE;QAClD,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE;KACtC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,MAAuB,EAAE,IAAa;IAC1D,OAAO,CAAC,CAAC,uCAAuC,EAAE;QAChD,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC;KACjB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { VNode, VNodeChildren } from 'snabbdom';
|
|
2
|
+
export declare function Toast(id: string, role: 'alert' | 'status', body: VNodeChildren, header?: VNodeChildren, autohide?: boolean, onClose?: () => void): VNode;
|
|
3
|
+
export declare function ToastContainer(toasts: VNodeChildren[]): VNode;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { h } from 'snabbdom';
|
|
2
|
+
import * as bootstrap from 'bootstrap';
|
|
3
|
+
export function Toast(id, role, body, header, autohide = true, onClose) {
|
|
4
|
+
return h('div.toast', {
|
|
5
|
+
props: { id, role },
|
|
6
|
+
attrs: {
|
|
7
|
+
'aria-live': role === 'alert' ? 'assertive' : 'polite',
|
|
8
|
+
'aria-atomic': 'true',
|
|
9
|
+
'data-bs-autohide': autohide ? 'true' : 'false'
|
|
10
|
+
},
|
|
11
|
+
hook: {
|
|
12
|
+
insert: (vnode) => {
|
|
13
|
+
const el = vnode.elm;
|
|
14
|
+
const toast = new bootstrap.Toast(el, { autohide });
|
|
15
|
+
el.addEventListener('hidden.bs.toast', () => { onClose && onClose(); });
|
|
16
|
+
toast.show();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}, [
|
|
20
|
+
header ? h('div.toast-header', header) : null,
|
|
21
|
+
h('div.toast-body', body)
|
|
22
|
+
]);
|
|
23
|
+
}
|
|
24
|
+
export function ToastContainer(toasts) {
|
|
25
|
+
return h('div.toast-container.position-fixed.bottom-0.end-0.p-3', toasts);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.js","sourceRoot":"","sources":["../../src/components/toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAwB,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AAEvC,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,IAAwB,EAAE,IAAmB,EAAE,MAAsB,EAAE,WAAoB,IAAI,EAAE,OAAoB;IACrJ,OAAO,CAAC,CAAC,WAAW,EAAE;QACpB,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;QACnB,KAAK,EAAE;YACL,WAAW,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;YACtD,aAAa,EAAE,MAAM;YACrB,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;SAChD;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBAChB,MAAM,EAAE,GAAG,KAAK,CAAC,GAAkB,CAAC;gBACpC,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACpD,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,GAAG,EAAE,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,CAAC;SACF;KACF,EAAE;QACD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;QAC7C,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAAC;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAuB;IACpD,OAAO,CAAC,CAAC,uDAAuD,EAAE,MAAM,CAAC,CAAC;AAC5E,CAAC"}
|
package/dist/flick.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type VNode } from 'snabbdom';
|
|
2
|
+
export type Component = () => VNode;
|
|
3
|
+
declare class Flick {
|
|
4
|
+
private old_node;
|
|
5
|
+
private root;
|
|
6
|
+
mount(root?: Component, container_id?: string): void;
|
|
7
|
+
redraw(): void;
|
|
8
|
+
}
|
|
9
|
+
export declare const flick: Flick;
|
|
10
|
+
export {};
|
package/dist/flick.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { init, classModule, propsModule, styleModule, eventListenersModule, attributesModule } from 'snabbdom';
|
|
2
|
+
import { App } from './components/app';
|
|
3
|
+
const patch = init([classModule, propsModule, styleModule, eventListenersModule, attributesModule]);
|
|
4
|
+
class Flick {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.old_node = null;
|
|
7
|
+
this.root = null;
|
|
8
|
+
}
|
|
9
|
+
mount(root = () => App(), container_id = 'app') {
|
|
10
|
+
this.old_node = document.getElementById(container_id);
|
|
11
|
+
if (!this.old_node)
|
|
12
|
+
throw new Error(`Container with id "${container_id}" not found.`);
|
|
13
|
+
this.root = root;
|
|
14
|
+
this.redraw();
|
|
15
|
+
}
|
|
16
|
+
redraw() {
|
|
17
|
+
this.old_node = patch(this.old_node, this.root());
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export const flick = new Flick();
|
|
21
|
+
//# sourceMappingURL=flick.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flick.js","sourceRoot":"","sources":["../src/flick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,gBAAgB,EAAc,MAAM,UAAU,CAAC;AAC3H,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAIpG,MAAM,KAAK;IAAX;QACY,aAAQ,GAA2B,IAAI,CAAC;QACxC,SAAI,GAAqB,IAAI,CAAC;IAa1C,CAAC;IAXU,KAAK,CAAC,OAAkB,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,eAAuB,KAAK;QACpE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAE,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,QAAQ;YACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,YAAY,cAAc,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAEM,MAAM;QACT,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAS,EAAE,IAAI,CAAC,IAAK,EAAE,CAAC,CAAC;IACxD,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
import 'bootstrap/dist/css/bootstrap.min.css';
|
|
2
2
|
import 'bootstrap/dist/js/bootstrap.bundle.min.js';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './component';
|
|
3
|
+
export * from './flick';
|
|
5
4
|
export * from './components/app';
|
|
6
5
|
export * from './components/button';
|
|
7
|
-
export * from './components/checkbox';
|
|
8
6
|
export * from './components/list';
|
|
9
|
-
export * from './components/sidebar';
|
|
10
7
|
export * from './components/offcanvas';
|
|
11
|
-
export * from './
|
|
12
|
-
export * from './
|
|
13
|
-
export * from './utils/user_components';
|
|
14
|
-
export * from './utils/selector';
|
|
15
|
-
export * from './utils/blink';
|
|
8
|
+
export * from './components/table';
|
|
9
|
+
export * from './components/toast';
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
import 'bootstrap/dist/css/bootstrap.min.css';
|
|
2
2
|
import 'bootstrap/dist/js/bootstrap.bundle.min.js';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './component';
|
|
3
|
+
export * from './flick';
|
|
5
4
|
export * from './components/app';
|
|
6
5
|
export * from './components/button';
|
|
7
|
-
export * from './components/checkbox';
|
|
8
6
|
export * from './components/list';
|
|
9
|
-
export * from './components/sidebar';
|
|
10
7
|
export * from './components/offcanvas';
|
|
11
|
-
export * from './
|
|
12
|
-
export * from './
|
|
13
|
-
export * from './utils/user_components';
|
|
14
|
-
export * from './utils/selector';
|
|
15
|
-
export * from './utils/blink';
|
|
8
|
+
export * from './components/table';
|
|
9
|
+
export * from './components/toast';
|
|
16
10
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,sCAAsC,CAAC;AAC9C,OAAO,2CAA2C,CAAC;AAEnD,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,sCAAsC,CAAC;AAC9C,OAAO,2CAA2C,CAAC;AAEnD,cAAc,SAAS,CAAC;AAExB,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.es2024.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.es2023.intl.d.ts","../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2024.collection.d.ts","../node_modules/typescript/lib/lib.es2024.object.d.ts","../node_modules/typescript/lib/lib.es2024.promise.d.ts","../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2024.string.d.ts","../node_modules/typescript/lib/lib.esnext.array.d.ts","../node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../node_modules/typescript/lib/lib.esnext.float16.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/component.ts","../src/app.ts","../node_modules/@types/bootstrap/js/dist/base-component.d.ts","../node_modules/@types/bootstrap/js/dist/alert.d.ts","../node_modules/@types/bootstrap/js/dist/button.d.ts","../node_modules/@types/bootstrap/js/dist/carousel.d.ts","../node_modules/@types/bootstrap/js/dist/collapse.d.ts","../node_modules/@popperjs/core/lib/enums.d.ts","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.d.ts","../node_modules/@popperjs/core/lib/modifiers/flip.d.ts","../node_modules/@popperjs/core/lib/modifiers/hide.d.ts","../node_modules/@popperjs/core/lib/modifiers/offset.d.ts","../node_modules/@popperjs/core/lib/modifiers/eventListeners.d.ts","../node_modules/@popperjs/core/lib/modifiers/computeStyles.d.ts","../node_modules/@popperjs/core/lib/modifiers/arrow.d.ts","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.d.ts","../node_modules/@popperjs/core/lib/modifiers/applyStyles.d.ts","../node_modules/@popperjs/core/lib/types.d.ts","../node_modules/@popperjs/core/lib/modifiers/index.d.ts","../node_modules/@popperjs/core/lib/utils/detectOverflow.d.ts","../node_modules/@popperjs/core/lib/createPopper.d.ts","../node_modules/@popperjs/core/lib/popper-lite.d.ts","../node_modules/@popperjs/core/lib/popper.d.ts","../node_modules/@popperjs/core/lib/index.d.ts","../node_modules/@popperjs/core/index.d.ts","../node_modules/@types/bootstrap/js/dist/tooltip.d.ts","../node_modules/@types/bootstrap/js/dist/dropdown.d.ts","../node_modules/@types/bootstrap/js/dist/modal.d.ts","../node_modules/@types/bootstrap/js/dist/offcanvas.d.ts","../node_modules/@types/bootstrap/js/dist/popover.d.ts","../node_modules/@types/bootstrap/js/dist/scrollspy.d.ts","../node_modules/@types/bootstrap/js/dist/tab.d.ts","../node_modules/@types/bootstrap/js/dist/toast.d.ts","../node_modules/@types/bootstrap/index.d.ts","../src/utils/settings.ts","../src/utils/connection.ts","../src/components/app.ts","../src/components/button.ts","../src/components/checkbox.ts","../src/utils/selector.ts","../src/components/list.ts","../src/components/sidebar.ts","../src/components/offcanvas.ts","../src/utils/user_components.ts","../src/utils/blink.ts","../src/index.ts"],"fileIdsList":[[103],[97,99],[87,97,98,100,101,102],[97],[87,97],[88,89,90,91,92,93,94,95,96],[88,92,93,96,97,100],[88,89,90,91,92,93,94,95,96,97,98,100,101],[87,88,89,90,91,92,93,94,95,96],[83,84,85,86,105,106,107,108,109,110,111,112],[82],[82,104,105],[82,105],[82,104],[80],[80,81,113,115],[80,119],[80,81,114,115,116,117,118,119,120,121,122,123,124],[114],[80,81,113,115,117]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"8bf8b5e44e3c9c36f98e1007e8b7018c0f38d8adc07aecef42f5200114547c70","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"97bef17b70996540484551518bbed9051dea185d3616d5c0d6010965175b0f5f","signature":"8c896e4202462304e5809fbdc68ef0494db3651550b24267e457b1835cf6f6c2"},{"version":"3bb8d2b3c42ddb7cfa887dc6fdf18c128075db28df79081d209c595f07891cc4","signature":"977bf8334d88ef8eb751cd2bab8895632841d2278bd02fdbc69b0955b94762b2"},{"version":"ce056ab24e2cd659c329b3db32bc2b9c49cb46885c713fc51a3ccf0530c0b263","impliedFormat":1},{"version":"e6f937d272c711656955e21e30f96d7d346c9c95f6835af61bcfc1289c21e207","impliedFormat":1},{"version":"2aa12d94c33ab2a76445b8e86f30ac5ef3036f4f6a54a039a15a61996ef05652","impliedFormat":1},{"version":"0c4e1e59c66f5d36dee15b22180dfc14771a7340f5e89b81f7826846d429a732","impliedFormat":1},{"version":"fc6cc569887efa22df1fe491a6ddaf9a1f389e02ea3c6e32ec420795d5b56ac5","impliedFormat":1},{"version":"70a29119482d358ab4f28d28ee2dcd05d6cbf8e678068855d016e10a9256ec12","impliedFormat":1},{"version":"869ac759ae8f304536d609082732cb025a08dcc38237fe619caf3fcdd41dde6f","impliedFormat":1},{"version":"0ea900fe6565f9133e06bce92e3e9a4b5a69234e83d40b7df2e1752b8d2b5002","impliedFormat":1},{"version":"e5408f95ca9ac5997c0fea772d68b1bf390e16c2a8cad62858553409f2b12412","impliedFormat":1},{"version":"3c1332a48695617fc5c8a1aead8f09758c2e73018bd139882283fb5a5b8536a6","impliedFormat":1},{"version":"9260b03453970e98ce9b1ad851275acd9c7d213c26c7d86bae096e8e9db4e62b","impliedFormat":1},{"version":"083838d2f5fea0c28f02ce67087101f43bd6e8697c51fd48029261653095080c","impliedFormat":1},{"version":"969132719f0f5822e669f6da7bd58ea0eb47f7899c1db854f8f06379f753b365","impliedFormat":1},{"version":"94ca5d43ff6f9dc8b1812b0770b761392e6eac1948d99d2da443dc63c32b2ec1","impliedFormat":1},{"version":"2cbc88cf54c50e74ee5642c12217e6fd5415e1b35232d5666d53418bae210b3b","impliedFormat":1},{"version":"ccb226557417c606f8b1bba85d178f4bcea3f8ae67b0e86292709a634a1d389d","impliedFormat":1},{"version":"5ea98f44cc9de1fe05d037afe4813f3dcd3a8c5de43bdd7db24624a364fad8e6","impliedFormat":1},{"version":"5260a62a7d326565c7b42293ed427e4186b9d43d6f160f50e134a18385970d02","impliedFormat":1},{"version":"0b3fc2d2d41ad187962c43cb38117d0aee0d3d515c8a6750aaea467da76b42aa","impliedFormat":1},{"version":"ed219f328224100dad91505388453a8c24a97367d1bc13dcec82c72ab13012b7","impliedFormat":1},{"version":"6847b17c96eb44634daa112849db0c9ade344fe23e6ced190b7eeb862beca9f4","impliedFormat":1},{"version":"d479a5128f27f63b58d57a61e062bd68fa43b684271449a73a4d3e3666a599a7","impliedFormat":1},{"version":"6f308b141358ac799edc3e83e887441852205dc1348310d30b62c69438b93ca0","impliedFormat":1},{"version":"5b6b7e4f40994d55bb979fd544329a3d83464cce9e324c59f55dddb3868a9514","impliedFormat":1},{"version":"78d217f663fab7783f37a3c1aa2038eea13b5aae6def5a5ebc19f122f154fac4","impliedFormat":1},{"version":"b9296e3c5de713bbfcf87201017c93dce7d1e2dae442656da79361d9314e1da6","impliedFormat":1},{"version":"c84b98e1720fd189cb4f5e3a9aaad4140de5094facf80094ea0abb37c5a5fea1","impliedFormat":1},{"version":"5f77d8d9556472561ff5cb276df359f3fff8e8471a773d353acda6f9aa3d3406","impliedFormat":1},{"version":"51b68f12056e75383fa59b8b2e3c4a338f311a89b01da4effe7ab72e581e8720","impliedFormat":1},{"version":"27de6f00dd8d82e82d04b862744cb95929065c5e5df9aaa658de582f1c5c76dc","impliedFormat":1},{"version":"2c228f052f7801628e65c40e5c4a6f4f702461fe477085e24f7db422776d9655","impliedFormat":1},{"version":"c27c10cacba7bf7d64d223aee16402ca8bc3273000e6b281dcf2e3877a235590","affectsGlobalScope":true,"impliedFormat":1},{"version":"8c9413772b083f7ed51daa2d5b643626e592a0d147fd71db61e5885dc4891486","signature":"1dc507267156e6c5eda4a1a8064853d0ed6ecd926073900b96ed11f4bbd8b1fb"},{"version":"78b333391d841ca42558590a7699fc77b3801677ae99c9ee5ff46ebce4ef29ed","signature":"643f4875250cc5396bfa2592509f4f373b32902798b36867cd2508ec243c103b"},{"version":"afbe73ea4a8c7f3621d1596442a48b4fce23dd69c556871d16c19b987f106fcf","signature":"6667de9f13e3bc244c9dc5a1726b2c5b2e307e45a4609c9101f3394826f70e16"},{"version":"e5dd178323e393fedf149b9ba1986d2c7ddc53716a7d175048c13a5f1f59c84a","signature":"9d979e68ed2f894005deeaff402f4b5945567285ac52f28573f1dfd3ff2664a2"},{"version":"f6c1bad2b45eea442d3da8eb9cf2ef53dfdbb521aca51cd61ccb7e85cc7a0416","signature":"5396df26efac9326435c646457859c3bd35195d7f2b707200d00c5ecf41c623d"},{"version":"8c75f7c24ecb091282940be3a8bb4f69e26daa0582181babe92ff73d00764904","signature":"029dada1eb36e821262b7c4f4d0f423255e76ffddd6cbe548f27925b910cfb85"},{"version":"51d50c5a413eadd9d8fa7d18b79cec7905a87a80f366e00b9b3f2d0b6bfba61c","signature":"f68ca081e9bf40c4ba66ece0d57fd1886cb14cf8de6c03b679bfe59d577bda44"},{"version":"cb173f774a971810a046136330d7af7714d27675476cf223ac5fd086308d799f","signature":"19e35fc85de845d17e178cf44ead8d14d4fcb27548113305d232a8055ad1c1f2"},{"version":"a4708bc1d1926e2276e3dc8de3dedf974cf839de9307ed25665567c304d4fd86","signature":"046ba1f9829bb265a1fb1d952dda409593fb8f02efe97caecb718bc441ed6228"},{"version":"45a2fd3cde00788e16caf0510573702f420b5715cf1ef21b57bed4178bde0262","signature":"13f15870523f7c7b0792d44c4ce28b482f5882598f5a9866e28cabba2f9f2a00"},{"version":"f42a0a0447d588a4a684c8e72ca3ce2f0e35b9b11eb4ec58b209dbd1cb1ba438","signature":"f0595d80c8e00b0f0456f3ea81fda89e3695098ac2a1907db62a35baf0d9095c"},{"version":"2401508ed0f228c9ea082f7f4dd8a16581cc450b1d8b29cf83b0b070856d6c78","signature":"5f50dc11c4c21b592c151ac2253f0c641965136fe4e29c46014a67d7fabd9cda"}],"root":[80,81,[114,125]],"options":{"declaration":true,"esModuleInterop":true,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"target":2},"referencedMap":[[104,1],[100,2],[103,3],[96,4],[94,5],[93,5],[92,4],[89,5],[90,4],[98,6],[91,5],[88,4],[95,5],[101,7],[102,8],[97,9],[99,5],[113,10],[83,11],[84,11],[85,11],[86,11],[106,12],[107,11],[108,11],[109,13],[110,11],[111,11],[112,11],[105,14],[81,15],[116,16],[117,15],[118,15],[120,17],[122,17],[121,17],[125,18],[115,19],[123,20]],"version":"5.8.3"}
|
|
1
|
+
{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.es2024.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.es2023.intl.d.ts","../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2024.collection.d.ts","../node_modules/typescript/lib/lib.es2024.object.d.ts","../node_modules/typescript/lib/lib.es2024.promise.d.ts","../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2024.string.d.ts","../node_modules/typescript/lib/lib.esnext.array.d.ts","../node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../node_modules/typescript/lib/lib.esnext.float16.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/snabbdom/build/htmldomapi.d.ts","../node_modules/snabbdom/build/helpers/attachto.d.ts","../node_modules/snabbdom/build/modules/style.d.ts","../node_modules/snabbdom/build/modules/eventlisteners.d.ts","../node_modules/snabbdom/build/modules/attributes.d.ts","../node_modules/snabbdom/build/modules/class.d.ts","../node_modules/snabbdom/build/modules/props.d.ts","../node_modules/snabbdom/build/modules/dataset.d.ts","../node_modules/snabbdom/build/vnode.d.ts","../node_modules/snabbdom/build/hooks.d.ts","../node_modules/snabbdom/build/modules/module.d.ts","../node_modules/snabbdom/build/init.d.ts","../node_modules/snabbdom/build/thunk.d.ts","../node_modules/snabbdom/build/is.d.ts","../node_modules/snabbdom/build/tovnode.d.ts","../node_modules/snabbdom/build/h.d.ts","../node_modules/snabbdom/build/jsx.d.ts","../node_modules/snabbdom/build/index.d.ts","../node_modules/@types/bootstrap/js/dist/base-component.d.ts","../node_modules/@types/bootstrap/js/dist/alert.d.ts","../node_modules/@types/bootstrap/js/dist/button.d.ts","../node_modules/@types/bootstrap/js/dist/carousel.d.ts","../node_modules/@types/bootstrap/js/dist/collapse.d.ts","../node_modules/@popperjs/core/lib/enums.d.ts","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.d.ts","../node_modules/@popperjs/core/lib/modifiers/flip.d.ts","../node_modules/@popperjs/core/lib/modifiers/hide.d.ts","../node_modules/@popperjs/core/lib/modifiers/offset.d.ts","../node_modules/@popperjs/core/lib/modifiers/eventListeners.d.ts","../node_modules/@popperjs/core/lib/modifiers/computeStyles.d.ts","../node_modules/@popperjs/core/lib/modifiers/arrow.d.ts","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.d.ts","../node_modules/@popperjs/core/lib/modifiers/applyStyles.d.ts","../node_modules/@popperjs/core/lib/types.d.ts","../node_modules/@popperjs/core/lib/modifiers/index.d.ts","../node_modules/@popperjs/core/lib/utils/detectOverflow.d.ts","../node_modules/@popperjs/core/lib/createPopper.d.ts","../node_modules/@popperjs/core/lib/popper-lite.d.ts","../node_modules/@popperjs/core/lib/popper.d.ts","../node_modules/@popperjs/core/lib/index.d.ts","../node_modules/@popperjs/core/index.d.ts","../node_modules/@types/bootstrap/js/dist/tooltip.d.ts","../node_modules/@types/bootstrap/js/dist/dropdown.d.ts","../node_modules/@types/bootstrap/js/dist/modal.d.ts","../node_modules/@types/bootstrap/js/dist/offcanvas.d.ts","../node_modules/@types/bootstrap/js/dist/popover.d.ts","../node_modules/@types/bootstrap/js/dist/scrollspy.d.ts","../node_modules/@types/bootstrap/js/dist/tab.d.ts","../node_modules/@types/bootstrap/js/dist/toast.d.ts","../node_modules/@types/bootstrap/index.d.ts","../src/components/app.ts","../src/flick.ts","../src/components/button.ts","../src/components/list.ts","../src/components/offcanvas.ts","../src/components/table.ts","../src/components/toast.ts","../src/index.ts","../node_modules/@types/estree/index.d.ts"],"fileIdsList":[[119],[113,115],[103,113,114,116,117,118],[113],[103,113],[104,105,106,107,108,109,110,111,112],[104,108,109,112,113,116],[104,105,106,107,108,109,110,111,112,113,114,116,117],[103,104,105,106,107,108,109,110,111,112],[99,100,101,102,121,122,123,124,125,126,127,128],[98],[98,120,121],[98,121],[98,120],[88],[80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],[80,88,90],[86,88,95],[90],[88,90],[89],[80,88],[81,82,83,84,85,86,87,89],[97,129],[97],[97,130],[130,131,132,133,134,135,136]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"8bf8b5e44e3c9c36f98e1007e8b7018c0f38d8adc07aecef42f5200114547c70","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"095a402135de9fbfda29ba7c984bf54b9e65757396b4165706d898e9baa83ed5","impliedFormat":99},{"version":"0b6471168629b8a0cbac9f8f67bbbba83a1d64cf1424cd7d299439b3af88129a","impliedFormat":99},{"version":"3e0fa3b04086663fd406499ea37f0714b0d7cbc296eb81e244f2bf0ba4938bb2","impliedFormat":99},{"version":"3d11abe325e68a5b76d9f53ecc0b4ea29685ccbd8690b279f2177e0750d87f8c","impliedFormat":99},{"version":"f1952d24cb1344241341230924197977764249edcde80605e96454f073ebb35a","impliedFormat":99},{"version":"3b5b37b56d81802168c5b8df2f1d4a7ee018d67e7463f221d49b6ea20af00060","impliedFormat":99},{"version":"f3a6db8faeb959400a4d0e1100b9d5c54eb494800e6dc9a2452bb2e00a27397c","impliedFormat":99},{"version":"d278699a1c7e06a195ecc065c4965d1bbfb5bc2d67176e63bebf58b273158023","impliedFormat":99},{"version":"261ffd2f7502d9387324715c7dcb9f3a30c8d044b6dc3abc7ff80737c366476c","impliedFormat":99},{"version":"28729ff7b2ea98a9ba6ca4490c5540be744a4d73b4199ff6094cb65c9db33607","impliedFormat":99},{"version":"6ac889647435812fb7ced7035daf90c1f307710056e4b496a3fd5cb97c87daed","impliedFormat":99},{"version":"29f60d17027d6bc8891797f6ed95ac84ee42313e6b03ddb49beff6f22f49f8c6","impliedFormat":99},{"version":"f71579228be8825267577e970c8f0ee2869cebae0bb7603b00644fec924c6717","impliedFormat":99},{"version":"e50f096cb424b63343ad5814622623f15cf3830f41710376bebb3c7f71554713","impliedFormat":99},{"version":"69ebae4354b59ff1ba38419d6033e22d0db6ffe6c1d562e78914f88f06ec517f","impliedFormat":99},{"version":"45f0aee62dc187cbde99b10987e1f8649a30bba8bf9c95957e37d1551d0626da","impliedFormat":99},{"version":"919b048385b82efca27e5adec2f61f17a2b219582f2deb8a13b4648c7c8fafbf","impliedFormat":99},{"version":"47747eabb3c64620a12f707bf30c7f7a211e25754a2da1f98267068f49bd0947","impliedFormat":99},{"version":"ce056ab24e2cd659c329b3db32bc2b9c49cb46885c713fc51a3ccf0530c0b263","impliedFormat":1},{"version":"e6f937d272c711656955e21e30f96d7d346c9c95f6835af61bcfc1289c21e207","impliedFormat":1},{"version":"2aa12d94c33ab2a76445b8e86f30ac5ef3036f4f6a54a039a15a61996ef05652","impliedFormat":1},{"version":"0c4e1e59c66f5d36dee15b22180dfc14771a7340f5e89b81f7826846d429a732","impliedFormat":1},{"version":"fc6cc569887efa22df1fe491a6ddaf9a1f389e02ea3c6e32ec420795d5b56ac5","impliedFormat":1},{"version":"70a29119482d358ab4f28d28ee2dcd05d6cbf8e678068855d016e10a9256ec12","impliedFormat":1},{"version":"869ac759ae8f304536d609082732cb025a08dcc38237fe619caf3fcdd41dde6f","impliedFormat":1},{"version":"0ea900fe6565f9133e06bce92e3e9a4b5a69234e83d40b7df2e1752b8d2b5002","impliedFormat":1},{"version":"e5408f95ca9ac5997c0fea772d68b1bf390e16c2a8cad62858553409f2b12412","impliedFormat":1},{"version":"3c1332a48695617fc5c8a1aead8f09758c2e73018bd139882283fb5a5b8536a6","impliedFormat":1},{"version":"9260b03453970e98ce9b1ad851275acd9c7d213c26c7d86bae096e8e9db4e62b","impliedFormat":1},{"version":"083838d2f5fea0c28f02ce67087101f43bd6e8697c51fd48029261653095080c","impliedFormat":1},{"version":"969132719f0f5822e669f6da7bd58ea0eb47f7899c1db854f8f06379f753b365","impliedFormat":1},{"version":"94ca5d43ff6f9dc8b1812b0770b761392e6eac1948d99d2da443dc63c32b2ec1","impliedFormat":1},{"version":"2cbc88cf54c50e74ee5642c12217e6fd5415e1b35232d5666d53418bae210b3b","impliedFormat":1},{"version":"ccb226557417c606f8b1bba85d178f4bcea3f8ae67b0e86292709a634a1d389d","impliedFormat":1},{"version":"5ea98f44cc9de1fe05d037afe4813f3dcd3a8c5de43bdd7db24624a364fad8e6","impliedFormat":1},{"version":"5260a62a7d326565c7b42293ed427e4186b9d43d6f160f50e134a18385970d02","impliedFormat":1},{"version":"0b3fc2d2d41ad187962c43cb38117d0aee0d3d515c8a6750aaea467da76b42aa","impliedFormat":1},{"version":"ed219f328224100dad91505388453a8c24a97367d1bc13dcec82c72ab13012b7","impliedFormat":1},{"version":"6847b17c96eb44634daa112849db0c9ade344fe23e6ced190b7eeb862beca9f4","impliedFormat":1},{"version":"d479a5128f27f63b58d57a61e062bd68fa43b684271449a73a4d3e3666a599a7","impliedFormat":1},{"version":"6f308b141358ac799edc3e83e887441852205dc1348310d30b62c69438b93ca0","impliedFormat":1},{"version":"5b6b7e4f40994d55bb979fd544329a3d83464cce9e324c59f55dddb3868a9514","impliedFormat":1},{"version":"78d217f663fab7783f37a3c1aa2038eea13b5aae6def5a5ebc19f122f154fac4","impliedFormat":1},{"version":"b9296e3c5de713bbfcf87201017c93dce7d1e2dae442656da79361d9314e1da6","impliedFormat":1},{"version":"c84b98e1720fd189cb4f5e3a9aaad4140de5094facf80094ea0abb37c5a5fea1","impliedFormat":1},{"version":"5f77d8d9556472561ff5cb276df359f3fff8e8471a773d353acda6f9aa3d3406","impliedFormat":1},{"version":"51b68f12056e75383fa59b8b2e3c4a338f311a89b01da4effe7ab72e581e8720","impliedFormat":1},{"version":"27de6f00dd8d82e82d04b862744cb95929065c5e5df9aaa658de582f1c5c76dc","impliedFormat":1},{"version":"2c228f052f7801628e65c40e5c4a6f4f702461fe477085e24f7db422776d9655","impliedFormat":1},{"version":"c27c10cacba7bf7d64d223aee16402ca8bc3273000e6b281dcf2e3877a235590","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f37aa3c3c0f0394d229a7693d03fb7777ad9d3fb9153fbd41024670dc784682","signature":"22bc7c922dd01a1e382c4650b8e7b65da237daa3288d71a70a162a9fcec79f90"},{"version":"a67a172c88e0b76774aadf9c33a963adf674c7475837ffa4fa9947d6f8e653eb","signature":"5719bde101e1285c3dd272b7ae5730fb43340e75fb98622cdb45418f8a8d3512"},{"version":"6f47c65561cfc9a6de36b496357be59641193c7877bdc9d83cc066390b517f08","signature":"2d0a616fce82542d76f976cafa2a15653fb2b94cd8bbaf861b0ba101918ce0e1"},{"version":"f65a000b9423427abaee9dd3d42b8d147a60d09bf835130f5fa9add648189ada","signature":"89d2361ab4ac64c14ec5025e511fb85ff26d71dec6b8e405152328e983d7a28a"},{"version":"ac89782f5a9af10374e1ca6d0e849b12f7e177bb4e8ae852482e2149294f8b3a","signature":"ed7612236e968a5e95749675c92ef6dd938fdfb1692001b6fa541c2d0e3aa22a"},{"version":"6213fd77c40222f0298705f0c3503b50defdbce585bc053324d72d5f7403eee8","signature":"b1589a10eb3a260feadbb9d2e1460b8d120c5dc721e2ebbc57afc2395fcd8636"},{"version":"fa5a76c3919ec2dddff4015245088bd977e0429744a25a664c219a48c85f8ebc","signature":"ee057cc801d02e8c9fbbc3ede10d3ae5a8ccc84fcb997df71eb4e45a2d36d79c"},{"version":"c4f8cc133472c31734b82aceddba8a05dbb0bdd4f1a11dc6d84257f5fb43f2fb","signature":"abc9b19a2e3af95ec22ef739a59c7337fee51b53faf07b2baf786980e927431c"},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1}],"root":[[130,137]],"options":{"declaration":true,"esModuleInterop":true,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"target":2},"referencedMap":[[120,1],[116,2],[119,3],[112,4],[110,5],[109,5],[108,4],[105,5],[106,4],[114,6],[107,5],[104,4],[111,5],[117,7],[118,8],[113,9],[115,5],[129,10],[99,11],[100,11],[101,11],[102,11],[122,12],[123,11],[124,11],[125,13],[126,11],[127,11],[128,11],[121,14],[95,15],[81,15],[89,15],[97,16],[91,17],[96,18],[84,19],[85,19],[87,19],[83,20],[90,21],[86,19],[82,19],[92,15],[94,22],[88,23],[130,24],[132,25],[133,25],[134,24],[135,25],[136,24],[131,26],[137,27]],"version":"5.8.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ratiosolver/flick",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A tiny and focused UI framework designed for clarity and speed",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -26,14 +26,18 @@
|
|
|
26
26
|
"/dist"
|
|
27
27
|
],
|
|
28
28
|
"scripts": {
|
|
29
|
-
"build": "tsc"
|
|
29
|
+
"build": "tsc",
|
|
30
|
+
"dev": "vite playground"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
32
33
|
"@types/bootstrap": "^5.2.10",
|
|
33
|
-
"
|
|
34
|
+
"jsdom": "^27.4.0",
|
|
35
|
+
"typescript": "^5.8.3",
|
|
36
|
+
"vite": "^7.3.1"
|
|
34
37
|
},
|
|
35
38
|
"peerDependencies": {
|
|
36
|
-
"bootstrap": "^5.3.8"
|
|
39
|
+
"bootstrap": "^5.3.8",
|
|
40
|
+
"snabbdom": "^3.6.3"
|
|
37
41
|
},
|
|
38
42
|
"publishConfig": {
|
|
39
43
|
"access": "public"
|