zero-query 0.7.5 → 0.8.7
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 +39 -30
- package/cli/commands/build.js +110 -1
- package/cli/commands/bundle.js +127 -50
- package/cli/commands/create.js +1 -1
- package/cli/commands/dev/devtools/index.js +56 -0
- package/cli/commands/dev/devtools/js/components.js +49 -0
- package/cli/commands/dev/devtools/js/core.js +409 -0
- package/cli/commands/dev/devtools/js/elements.js +413 -0
- package/cli/commands/dev/devtools/js/network.js +166 -0
- package/cli/commands/dev/devtools/js/performance.js +73 -0
- package/cli/commands/dev/devtools/js/router.js +105 -0
- package/cli/commands/dev/devtools/js/source.js +132 -0
- package/cli/commands/dev/devtools/js/stats.js +35 -0
- package/cli/commands/dev/devtools/js/tabs.js +79 -0
- package/cli/commands/dev/devtools/panel.html +95 -0
- package/cli/commands/dev/devtools/styles.css +244 -0
- package/cli/commands/dev/index.js +28 -3
- package/cli/commands/dev/logger.js +6 -1
- package/cli/commands/dev/overlay.js +377 -0
- package/cli/commands/dev/server.js +8 -0
- package/cli/commands/dev/watcher.js +26 -1
- package/cli/help.js +8 -5
- package/cli/scaffold/{scripts → app}/app.js +1 -1
- package/cli/scaffold/{scripts → app}/components/about.js +4 -4
- package/cli/scaffold/{scripts → app}/components/api-demo.js +1 -1
- package/cli/scaffold/app/components/home.js +137 -0
- package/cli/scaffold/{scripts → app}/routes.js +1 -1
- package/cli/scaffold/{scripts → app}/store.js +6 -6
- package/cli/scaffold/assets/.gitkeep +0 -0
- package/cli/scaffold/{styles/styles.css → global.css} +3 -2
- package/cli/scaffold/index.html +11 -11
- package/dist/zquery.dist.zip +0 -0
- package/dist/zquery.js +740 -226
- package/dist/zquery.min.js +2 -2
- package/index.d.ts +11 -11
- package/index.js +15 -10
- package/package.json +3 -2
- package/src/component.js +154 -139
- package/src/core.js +57 -11
- package/src/diff.js +256 -58
- package/src/expression.js +33 -3
- package/src/reactive.js +37 -5
- package/src/router.js +196 -7
- package/src/ssr.js +1 -1
- package/tests/component.test.js +582 -0
- package/tests/core.test.js +251 -0
- package/tests/diff.test.js +333 -2
- package/tests/expression.test.js +148 -0
- package/tests/http.test.js +108 -0
- package/tests/reactive.test.js +148 -0
- package/tests/router.test.js +317 -0
- package/tests/store.test.js +126 -0
- package/tests/utils.test.js +161 -2
- package/types/collection.d.ts +17 -2
- package/types/component.d.ts +10 -34
- package/types/misc.d.ts +13 -0
- package/types/router.d.ts +30 -1
- package/cli/commands/dev.old.js +0 -520
- package/cli/scaffold/scripts/components/home.js +0 -137
- /package/cli/scaffold/{scripts → app}/components/contacts/contacts.css +0 -0
- /package/cli/scaffold/{scripts → app}/components/contacts/contacts.html +0 -0
- /package/cli/scaffold/{scripts → app}/components/contacts/contacts.js +0 -0
- /package/cli/scaffold/{scripts → app}/components/counter.js +0 -0
- /package/cli/scaffold/{scripts → app}/components/not-found.js +0 -0
- /package/cli/scaffold/{scripts → app}/components/todos.js +0 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
// scripts/components/home.js — dashboard / landing page
|
|
2
|
+
//
|
|
3
|
+
// Demonstrates: $.component, state, render, mounted lifecycle,
|
|
4
|
+
// signal + computed + effect (reactive primitives),
|
|
5
|
+
// $.store integration, $.bus, template rendering
|
|
6
|
+
|
|
7
|
+
$.component('home-page', {
|
|
8
|
+
state: () => ({
|
|
9
|
+
greeting: '',
|
|
10
|
+
signalDemo: 0,
|
|
11
|
+
}),
|
|
12
|
+
|
|
13
|
+
mounted() {
|
|
14
|
+
// $.signal() — fine-grained reactive primitive
|
|
15
|
+
const count = $.signal(0);
|
|
16
|
+
|
|
17
|
+
// $.computed() — derived reactive value that auto-updates
|
|
18
|
+
const doubled = $.computed(() => count.value * 2);
|
|
19
|
+
|
|
20
|
+
// $.effect() — runs whenever its dependencies change
|
|
21
|
+
$.effect(() => {
|
|
22
|
+
this.state.signalDemo = doubled.value;
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
// Store the signal setter so the button can use it
|
|
26
|
+
this._signalCount = count;
|
|
27
|
+
|
|
28
|
+
// Greet based on time of day
|
|
29
|
+
const hour = new Date().getHours();
|
|
30
|
+
this.state.greeting = hour < 12 ? 'Good morning'
|
|
31
|
+
: hour < 18 ? 'Good afternoon'
|
|
32
|
+
: 'Good evening';
|
|
33
|
+
|
|
34
|
+
// Track page visit via the global store
|
|
35
|
+
const store = $.getStore('main');
|
|
36
|
+
store.dispatch('incrementVisits');
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
incrementSignal() {
|
|
40
|
+
if (this._signalCount) {
|
|
41
|
+
this._signalCount.value++;
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
render() {
|
|
46
|
+
const store = $.getStore('main');
|
|
47
|
+
return `
|
|
48
|
+
<div class="page-header">
|
|
49
|
+
<h1>${this.state.greeting}</h1>
|
|
50
|
+
<p class="subtitle">Welcome to your new <strong>zQuery</strong> app. Explore the pages to see different features in action.</p>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<div class="card-grid">
|
|
54
|
+
<div class="card card-accent">
|
|
55
|
+
<h3><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="var(--accent)" style="width:20px;height:20px;vertical-align:-4px;margin-right:0.25rem;"><path stroke-linecap="round" stroke-linejoin="round" d="m3.75 13.5 10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75Z"/></svg> Reactive Signals</h3>
|
|
56
|
+
<p>Fine-grained reactivity with <code>signal()</code>, <code>computed()</code>, and <code>effect()</code>.</p>
|
|
57
|
+
<div class="signal-demo">
|
|
58
|
+
<span class="signal-value">Doubled: ${this.state.signalDemo}</span>
|
|
59
|
+
<button class="btn btn-sm" @click="incrementSignal">Increment Signal</button>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<div class="card">
|
|
64
|
+
<h3><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="var(--accent)" style="width:20px;height:20px;vertical-align:-4px;margin-right:0.25rem;"><path stroke-linecap="round" stroke-linejoin="round" d="M5.25 8.25h15m-16.5 7.5h15m-1.8-13.5-3.9 19.5m-2.1-19.5-3.9 19.5"/></svg> Counter</h3>
|
|
65
|
+
<p><code>computed</code> properties, <code>watch</code> callbacks, and <code>z-for</code> with <code>z-key</code> diffing.</p>
|
|
66
|
+
<a z-link="/counter" class="btn btn-outline">Try It →</a>
|
|
67
|
+
</div>
|
|
68
|
+
|
|
69
|
+
<div class="card">
|
|
70
|
+
<h3><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="var(--accent)" style="width:20px;height:20px;vertical-align:-4px;margin-right:0.25rem;"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"/></svg> Todos</h3>
|
|
71
|
+
<p>Global store, <code>z-key</code> keyed lists, DOM diffing. <strong>${store.getters.todoCount}</strong> items, <strong>${store.getters.doneCount}</strong> done.</p>
|
|
72
|
+
<a z-link="/todos" class="btn btn-outline">Try It →</a>
|
|
73
|
+
</div>
|
|
74
|
+
|
|
75
|
+
<div class="card">
|
|
76
|
+
<h3><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="var(--accent)" style="width:20px;height:20px;vertical-align:-4px;margin-right:0.25rem;"><path stroke-linecap="round" stroke-linejoin="round" d="M15 9h3.75M15 12h3.75M15 15h3.75M4.5 19.5h15a2.25 2.25 0 0 0 2.25-2.25V6.75A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25v10.5A2.25 2.25 0 0 0 4.5 19.5Zm6-10.125a1.875 1.875 0 1 1-3.75 0 1.875 1.875 0 0 1 3.75 0Zm1.294 6.336a6.721 6.721 0 0 1-3.17.789 6.721 6.721 0 0 1-3.168-.789 3.376 3.376 0 0 1 6.338 0Z"/></svg> Contacts</h3>
|
|
77
|
+
<p>External templates, scoped styles, and <code>z-key</code> keyed lists. <strong>${store.getters.contactCount}</strong> contacts, <strong>${store.getters.favoriteCount}</strong> ★ favorited.</p>
|
|
78
|
+
<a z-link="/contacts" class="btn btn-outline">Try It →</a>
|
|
79
|
+
</div>
|
|
80
|
+
|
|
81
|
+
<div class="card">
|
|
82
|
+
<h3><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="var(--accent)" style="width:20px;height:20px;vertical-align:-4px;margin-right:0.25rem;"><path stroke-linecap="round" stroke-linejoin="round" d="M12 21a9.004 9.004 0 0 0 8.716-6.747M12 21a9.004 9.004 0 0 1-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 0 1 7.843 4.582M12 3a8.997 8.997 0 0 0-7.843 4.582m15.686 0A11.953 11.953 0 0 1 12 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0 1 21 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0 1 12 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 0 1 3 12c0-1.605.42-3.113 1.157-4.418"/></svg> API Demo</h3>
|
|
83
|
+
<p>Fetch data with <code>$.get()</code>, loading states, and <code>$.escapeHtml()</code>.</p>
|
|
84
|
+
<a z-link="/api" class="btn btn-outline">Try It →</a>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
|
|
88
|
+
<div class="card card-muted">
|
|
89
|
+
<h3><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="var(--accent)" style="width:20px;height:20px;vertical-align:-4px;margin-right:0.25rem;"><path stroke-linecap="round" stroke-linejoin="round" d="M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z"/></svg> App Stats</h3>
|
|
90
|
+
<div class="stats-grid">
|
|
91
|
+
<div class="stat-group">
|
|
92
|
+
<span class="stat-group-title"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" style="width:14px;height:14px;vertical-align:-2px;margin-right:0.2rem;"><path stroke-linecap="round" stroke-linejoin="round" d="m2.25 12 8.954-8.955a1.126 1.126 0 0 1 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25"/></svg> General</span>
|
|
93
|
+
<div class="stat-group-values">
|
|
94
|
+
<div class="stat">
|
|
95
|
+
<span class="stat-value">${store.state.visits}</span>
|
|
96
|
+
<span class="stat-label">Page Views</span>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
|
|
101
|
+
<div class="stat-group">
|
|
102
|
+
<span class="stat-group-title"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" style="width:14px;height:14px;vertical-align:-2px;margin-right:0.2rem;"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"/></svg> Todos</span>
|
|
103
|
+
<div class="stat-group-values">
|
|
104
|
+
<div class="stat">
|
|
105
|
+
<span class="stat-value">${store.getters.todoCount}</span>
|
|
106
|
+
<span class="stat-label">Total</span>
|
|
107
|
+
</div>
|
|
108
|
+
<div class="stat">
|
|
109
|
+
<span class="stat-value">${store.getters.pendingCount}</span>
|
|
110
|
+
<span class="stat-label">Pending</span>
|
|
111
|
+
</div>
|
|
112
|
+
<div class="stat">
|
|
113
|
+
<span class="stat-value">${store.getters.doneCount}</span>
|
|
114
|
+
<span class="stat-label">Done</span>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
|
|
119
|
+
<div class="stat-group">
|
|
120
|
+
<span class="stat-group-title"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" style="width:14px;height:14px;vertical-align:-2px;margin-right:0.2rem;"><path stroke-linecap="round" stroke-linejoin="round" d="M15 9h3.75M15 12h3.75M15 15h3.75M4.5 19.5h15a2.25 2.25 0 0 0 2.25-2.25V6.75A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25v10.5A2.25 2.25 0 0 0 4.5 19.5Zm6-10.125a1.875 1.875 0 1 1-3.75 0 1.875 1.875 0 0 1 3.75 0Zm1.294 6.336a6.721 6.721 0 0 1-3.17.789 6.721 6.721 0 0 1-3.168-.789 3.376 3.376 0 0 1 6.338 0Z"/></svg> Contacts</span>
|
|
121
|
+
<div class="stat-group-values">
|
|
122
|
+
<div class="stat">
|
|
123
|
+
<span class="stat-value">${store.getters.contactCount}</span>
|
|
124
|
+
<span class="stat-label">Total</span>
|
|
125
|
+
</div>
|
|
126
|
+
<div class="stat">
|
|
127
|
+
<span class="stat-value">${store.getters.favoriteCount}</span>
|
|
128
|
+
<span class="stat-label">★ Favorited</span>
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
<small class="muted">Stats powered by <code>$.store()</code> getters — visit count tracked globally.</small>
|
|
134
|
+
</div>
|
|
135
|
+
`;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//
|
|
1
|
+
// app/store.js — global state management
|
|
2
2
|
//
|
|
3
3
|
// $.store() creates a centralized store with state, actions, and getters.
|
|
4
4
|
// Components can dispatch actions and subscribe to changes.
|
|
@@ -11,11 +11,11 @@ export const store = $.store('main', {
|
|
|
11
11
|
|
|
12
12
|
// Contacts
|
|
13
13
|
contacts: [
|
|
14
|
-
{ id: 1, name: '
|
|
15
|
-
{ id: 2, name: '
|
|
16
|
-
{ id: 3, name: '
|
|
17
|
-
{ id: 4, name: '
|
|
18
|
-
{ id: 5, name: '
|
|
14
|
+
{ id: 1, name: 'Tony Wiedman', email: 'tony@z-query.com', role: 'Developer', status: 'online', favorite: true },
|
|
15
|
+
{ id: 2, name: 'Robert Baratheon', email: 'robert@stormlands.io', role: 'Manager', status: 'offline', favorite: false },
|
|
16
|
+
{ id: 3, name: 'Terry A. Davis', email: 'terry@templeos.net', role: 'Developer', status: 'online', favorite: true },
|
|
17
|
+
{ id: 4, name: 'Trevor Moore', email: 'trevor@wkuk.tv', role: 'Designer', status: 'away', favorite: false },
|
|
18
|
+
{ id: 5, name: 'Carlo Acutis', email: 'carlo@vatican.va', role: 'Developer', status: 'online', favorite: false },
|
|
19
19
|
],
|
|
20
20
|
contactsAdded: 0,
|
|
21
21
|
},
|
|
File without changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*
|
|
1
|
+
/* global.css — responsive scaffold styles
|
|
2
2
|
*
|
|
3
3
|
* Uses CSS custom properties for easy theming.
|
|
4
4
|
* Dark theme by default, light theme via [data-theme="light"].
|
|
@@ -117,7 +117,8 @@ code { background: var(--bg-hover); padding: 2px 6px; border-radius: 4px; font-s
|
|
|
117
117
|
border-left-color: var(--accent);
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
.nav-icon {
|
|
120
|
+
.nav-icon { display: inline-flex; align-items: center; justify-content: center; width: 1.4rem; }
|
|
121
|
+
.nav-icon svg { width: 18px; height: 18px; flex-shrink: 0; }
|
|
121
122
|
|
|
122
123
|
.sidebar-footer {
|
|
123
124
|
padding: 0.75rem 1.25rem;
|
package/cli/scaffold/index.html
CHANGED
|
@@ -5,36 +5,36 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
6
|
<title>{{NAME}}</title>
|
|
7
7
|
<base href="/">
|
|
8
|
-
<link rel="stylesheet" href="
|
|
8
|
+
<link rel="stylesheet" href="global.css">
|
|
9
9
|
<link rel="icon" type="image/png" href="favicon.ico">
|
|
10
|
-
<script src="
|
|
11
|
-
<script type="module" src="
|
|
10
|
+
<script src="zquery.min.js"></script>
|
|
11
|
+
<script type="module" src="app/app.js"></script>
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
|
|
15
15
|
<!-- Sidebar Navigation -->
|
|
16
16
|
<aside class="sidebar" id="sidebar">
|
|
17
17
|
<div class="sidebar-header">
|
|
18
|
-
<span class="brand"
|
|
18
|
+
<span class="brand"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="var(--accent)" style="width:18px;height:18px;vertical-align:-3px;margin-right:0.2rem;"><path fill-rule="evenodd" d="M14.615 1.595a.75.75 0 0 1 .359.852L12.982 9.75h7.268a.75.75 0 0 1 .548 1.262l-10.5 11.25a.75.75 0 0 1-1.272-.71l1.992-7.302H3.75a.75.75 0 0 1-.548-1.262l10.5-11.25a.75.75 0 0 1 .913-.143Z" clip-rule="evenodd"/></svg> {{NAME}}</span>
|
|
19
19
|
</div>
|
|
20
20
|
<nav class="sidebar-nav">
|
|
21
21
|
<a z-link="/" class="nav-link">
|
|
22
|
-
<span class="nav-icon"
|
|
22
|
+
<span class="nav-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m2.25 12 8.954-8.955a1.126 1.126 0 0 1 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25"/></svg></span> Home
|
|
23
23
|
</a>
|
|
24
24
|
<a z-link="/counter" class="nav-link">
|
|
25
|
-
<span class="nav-icon"
|
|
25
|
+
<span class="nav-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M5.25 8.25h15m-16.5 7.5h15m-1.8-13.5-3.9 19.5m-2.1-19.5-3.9 19.5"/></svg></span> Counter
|
|
26
26
|
</a>
|
|
27
27
|
<a z-link="/todos" class="nav-link">
|
|
28
|
-
<span class="nav-icon"
|
|
28
|
+
<span class="nav-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"/></svg></span> Todos
|
|
29
29
|
</a>
|
|
30
30
|
<a z-link="/contacts" class="nav-link">
|
|
31
|
-
<span class="nav-icon"
|
|
31
|
+
<span class="nav-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M15 9h3.75M15 12h3.75M15 15h3.75M4.5 19.5h15a2.25 2.25 0 0 0 2.25-2.25V6.75A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25v10.5A2.25 2.25 0 0 0 4.5 19.5Zm6-10.125a1.875 1.875 0 1 1-3.75 0 1.875 1.875 0 0 1 3.75 0Zm1.294 6.336a6.721 6.721 0 0 1-3.17.789 6.721 6.721 0 0 1-3.168-.789 3.376 3.376 0 0 1 6.338 0Z"/></svg></span> Contacts
|
|
32
32
|
</a>
|
|
33
33
|
<a z-link="/api" class="nav-link">
|
|
34
|
-
<span class="nav-icon"
|
|
34
|
+
<span class="nav-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 21a9.004 9.004 0 0 0 8.716-6.747M12 21a9.004 9.004 0 0 1-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 0 1 7.843 4.582M12 3a8.997 8.997 0 0 0-7.843 4.582m15.686 0A11.953 11.953 0 0 1 12 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0 1 21 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0 1 12 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 0 1 3 12c0-1.605.42-3.113 1.157-4.418"/></svg></span> API Demo
|
|
35
35
|
</a>
|
|
36
36
|
<a z-link="/about" class="nav-link">
|
|
37
|
-
<span class="nav-icon"
|
|
37
|
+
<span class="nav-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 18v-5.25m0 0a6.01 6.01 0 0 0 1.5-.189m-1.5.189a6.01 6.01 0 0 1-1.5-.189m3.75 7.478a12.06 12.06 0 0 1-4.5 0m3.75 2.383a14.406 14.406 0 0 1-3 0M14.25 18v-.192c0-.983.658-1.823 1.508-2.316a7.5 7.5 0 1 0-7.517 0c.85.493 1.509 1.333 1.509 2.316V18"/></svg></span> About
|
|
38
38
|
</a>
|
|
39
39
|
</nav>
|
|
40
40
|
<div class="sidebar-footer">
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
<button class="hamburger" id="menu-toggle" aria-label="Toggle menu">
|
|
48
48
|
<span></span><span></span><span></span>
|
|
49
49
|
</button>
|
|
50
|
-
<span class="topbar-brand"
|
|
50
|
+
<span class="topbar-brand"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="var(--accent)" style="width:16px;height:16px;vertical-align:-2px;margin-right:0.15rem;"><path fill-rule="evenodd" d="M14.615 1.595a.75.75 0 0 1 .359.852L12.982 9.75h7.268a.75.75 0 0 1 .548 1.262l-10.5 11.25a.75.75 0 0 1-1.272-.71l1.992-7.302H3.75a.75.75 0 0 1-.548-1.262l10.5-11.25a.75.75 0 0 1 .913-.143Z" clip-rule="evenodd"/></svg> {{NAME}}</span>
|
|
51
51
|
</header>
|
|
52
52
|
|
|
53
53
|
<!-- Overlay for mobile menu -->
|
package/dist/zquery.dist.zip
CHANGED
|
Binary file
|