flock-core 0.4.0b35__py3-none-any.whl → 0.4.0b37__py3-none-any.whl

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.

Potentially problematic release.


This version of flock-core might be problematic. Click here for more details.

Files changed (39) hide show
  1. flock/__init__.py +34 -11
  2. flock/cli/loaded_flock_cli.py +38 -18
  3. flock/core/flock.py +48 -3
  4. flock/themes/alabaster.toml +43 -43
  5. flock/themes/guezwhoz.toml +43 -43
  6. flock/themes/wildcherry.toml +43 -43
  7. flock/themes/wombat.toml +43 -43
  8. flock/themes/zenburn.toml +43 -43
  9. flock/webapp/app/config.py +80 -2
  10. flock/webapp/app/main.py +506 -3
  11. flock/webapp/app/templates/theme_mapper.html +326 -0
  12. flock/webapp/app/theme_mapper.py +812 -0
  13. flock/webapp/run.py +116 -14
  14. flock/webapp/static/css/custom.css +168 -83
  15. flock/webapp/templates/base.html +14 -7
  16. flock/webapp/templates/partials/_agent_detail_form.html +4 -3
  17. flock/webapp/templates/partials/_agent_list.html +1 -6
  18. flock/webapp/templates/partials/_agent_manager_view.html +52 -14
  19. flock/webapp/templates/partials/_agent_manager_view_old.html +19 -0
  20. flock/webapp/templates/partials/_create_flock_form.html +1 -1
  21. flock/webapp/templates/partials/_dashboard_flock_properties_preview.html +1 -1
  22. flock/webapp/templates/partials/_env_vars_table.html +25 -0
  23. flock/webapp/templates/partials/_execution_form.html +1 -1
  24. flock/webapp/templates/partials/_execution_view_container.html +13 -12
  25. flock/webapp/templates/partials/_flock_properties_form.html +2 -1
  26. flock/webapp/templates/partials/_header_flock_status.html +5 -0
  27. flock/webapp/templates/partials/_load_manager_view.html +50 -0
  28. flock/webapp/templates/partials/_settings_env_content.html +10 -0
  29. flock/webapp/templates/partials/_settings_theme_content.html +15 -0
  30. flock/webapp/templates/partials/_settings_view.html +36 -0
  31. flock/webapp/templates/partials/_sidebar.html +13 -6
  32. flock/webapp/templates/partials/_structured_data_view.html +4 -4
  33. flock/webapp/templates/partials/_theme_preview.html +23 -0
  34. {flock_core-0.4.0b35.dist-info → flock_core-0.4.0b37.dist-info}/METADATA +1 -1
  35. {flock_core-0.4.0b35.dist-info → flock_core-0.4.0b37.dist-info}/RECORD +38 -29
  36. flock/webapp/templates/partials/_load_manage_view.html +0 -88
  37. {flock_core-0.4.0b35.dist-info → flock_core-0.4.0b37.dist-info}/WHEEL +0 -0
  38. {flock_core-0.4.0b35.dist-info → flock_core-0.4.0b37.dist-info}/entry_points.txt +0 -0
  39. {flock_core-0.4.0b35.dist-info → flock_core-0.4.0b37.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,326 @@
1
+
2
+ <!DOCTYPE html>
3
+ <html lang="en" data-theme="light">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>Theme Mapper</title>
8
+ <!-- Use Pico CSS only -->
9
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@1/css/pico.min.css">
10
+ <style>
11
+ {{ css_vars | safe }}
12
+
13
+ /* Only use Pico CSS classes and variables */
14
+
15
+ .color-sample {
16
+ height: 20px;
17
+ width: 100%;
18
+ border-radius: 4px;
19
+ margin-bottom: 5px;
20
+ }
21
+ .theme-selector {
22
+ position: fixed;
23
+ top: 10px;
24
+ right: 10px;
25
+ z-index: 100;
26
+ background-color: var(--pico-card-background-color);
27
+ padding: 10px;
28
+ border-radius: 8px;
29
+ border: 1px solid var(--pico-border-color);
30
+ }
31
+ article {
32
+ margin-bottom: 1rem;
33
+ }
34
+ .contrast-table td {
35
+ padding: 5px;
36
+ text-align: center;
37
+ }
38
+ .good-contrast {
39
+ background-color: var(--pico-ins-color);
40
+ color: var(--pico-background-color);
41
+ }
42
+ .bad-contrast {
43
+ background-color: var(--pico-del-color);
44
+ color: var(--pico-background-color);
45
+ }
46
+
47
+ /* New: give demo content cards a themed background so text always contrasts */
48
+ article {
49
+ background-color: var(--pico-card-sectioning-background-color);
50
+ border: 1px solid var(--pico-card-border-color);
51
+ padding: 1rem;
52
+ border-radius: 8px;
53
+ }
54
+ /* New: background for the two grid columns */
55
+ .grid > div {
56
+ background-color: var(--pico-card-background-color);
57
+ padding: 1rem;
58
+ border-radius: 8px;
59
+ }
60
+
61
+ /* Override any non-pico CSS variables */
62
+ body {
63
+ background-color: var(--pico-background-color);
64
+ color: var(--pico-color);
65
+ }
66
+ a {
67
+ color: var(--pico-primary);
68
+ }
69
+ a:hover {
70
+ color: var(--pico-primary-hover);
71
+ }
72
+ h1 {
73
+ color: var(--pico-h1-color);
74
+ }
75
+ h2 {
76
+ color: var(--pico-h2-color);
77
+ }
78
+ h3 {
79
+ color: var(--pico-h3-color);
80
+ }
81
+ mark {
82
+ background-color: var(--pico-mark-background-color);
83
+ color: var(--pico-mark-color);
84
+ }
85
+ ins {
86
+ color: var(--pico-ins-color);
87
+ }
88
+ del {
89
+ color: var(--pico-del-color);
90
+ }
91
+ code {
92
+ background-color: var(--pico-code-background-color);
93
+ color: var(--pico-code-color);
94
+ }
95
+ button, input[type="submit"], input[type="button"] {
96
+ background-color: var(--pico-button-base-background-color);
97
+ color: var(--pico-button-base-color);
98
+ border-color: var(--pico-button-base-background-color);
99
+ }
100
+ button:hover, input[type="submit"]:hover, input[type="button"]:hover {
101
+ background-color: var(--pico-button-hover-background-color);
102
+ color: var(--pico-button-hover-color);
103
+ border-color: var(--pico-button-hover-background-color);
104
+ }
105
+ button.secondary, input[type="submit"].secondary, input[type="button"].secondary {
106
+ background-color: var(--pico-secondary);
107
+ color: var(--pico-secondary-inverse);
108
+ border-color: var(--pico-secondary);
109
+ }
110
+ button.secondary:hover, input[type="submit"].secondary:hover, input[type="button"].secondary:hover {
111
+ background-color: var(--pico-secondary-hover);
112
+ color: var(--pico-secondary-inverse);
113
+ border-color: var(--pico-secondary-hover);
114
+ }
115
+ button.contrast, input[type="submit"].contrast, input[type="button"].contrast {
116
+ background-color: var(--pico-contrast);
117
+ color: var(--pico-contrast-inverse);
118
+ border-color: var(--pico-contrast);
119
+ }
120
+ /* Improve grid columns on wider screens */
121
+ @media (min-width: 768px) {
122
+ .grid {
123
+ display: grid;
124
+ grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
125
+ gap: 2rem;
126
+ }
127
+ }
128
+ /* Ensure container can grow a little wider than Pico default */
129
+ .container {
130
+ max-width: 90rem; /* ~1440px */
131
+ }
132
+ /* Ensure tables use full-strength text colour */
133
+ table th,
134
+ table td {
135
+ color: var(--pico-color);
136
+ opacity: 1; /* override Pico's default fade */
137
+ }
138
+ </style>
139
+ </head>
140
+ <body>
141
+ <div class="container">
142
+ <div class="theme-selector">
143
+ <label for="theme-select">Select Theme:</label>
144
+ <select id="theme-select" onchange="window.location.href='/?theme=' + this.value">
145
+ {% for theme_name in themes %}
146
+ <option value="{{ theme_name }}" {% if theme_name == current_theme %}selected{% endif %}>{{ theme_name }}</option>
147
+ {% endfor %}
148
+ </select>
149
+ </div>
150
+
151
+ <h1>Theme Mapper: {{ current_theme }}</h1>
152
+
153
+ <div class="grid">
154
+ <div>
155
+ <h2>UI Elements</h2>
156
+ <article>
157
+ <h3>Headings and Text</h3>
158
+ <h1>Heading 1</h1>
159
+ <h2>Heading 2</h2>
160
+ <h3>Heading 3</h3>
161
+ <p>Normal paragraph text. <a href="#">This is a link</a>. <mark>This is marked text</mark>.</p>
162
+ <p><small>This is small text</small></p>
163
+ <p><ins>This is inserted text</ins> and <del>this is deleted text</del>.</p>
164
+ <blockquote>
165
+ This is a blockquote with <cite>a citation</cite>.
166
+ </blockquote>
167
+ <code>This is inline code</code>
168
+ <pre><code>// This is a code block
169
+ function example() {
170
+ return "Hello World";
171
+ }</code></pre>
172
+ </article>
173
+
174
+ <article>
175
+ <h3>Buttons</h3>
176
+ <button>Default Button</button>
177
+ <button class="secondary">Secondary Button</button>
178
+ <button class="contrast">Contrast Button</button>
179
+ </article>
180
+
181
+ <article>
182
+ <h3>Form Elements</h3>
183
+ <form>
184
+ <label for="text">Text Input</label>
185
+ <input type="text" id="text" placeholder="Text input">
186
+
187
+ <label for="select">Select</label>
188
+ <select id="select">
189
+ <option>Option 1</option>
190
+ <option>Option 2</option>
191
+ </select>
192
+
193
+ <label for="textarea">Textarea</label>
194
+ <textarea id="textarea" placeholder="Textarea"></textarea>
195
+
196
+ <label for="invalid" aria-invalid="true">Invalid Input</label>
197
+ <input type="text" id="invalid" aria-invalid="true" placeholder="Invalid input">
198
+
199
+ <fieldset>
200
+ <legend>Checkboxes</legend>
201
+ <label>
202
+ <input type="checkbox" checked>
203
+ Checkbox 1
204
+ </label>
205
+ <label>
206
+ <input type="checkbox">
207
+ Checkbox 2
208
+ </label>
209
+ </fieldset>
210
+
211
+ <fieldset>
212
+ <legend>Radio Buttons</legend>
213
+ <label>
214
+ <input type="radio" name="radio" checked>
215
+ Radio 1
216
+ </label>
217
+ <label>
218
+ <input type="radio" name="radio">
219
+ Radio 2
220
+ </label>
221
+ </fieldset>
222
+ </form>
223
+ </article>
224
+ </div>
225
+
226
+ <div>
227
+ <h2>Theme Color Mapping</h2>
228
+ <article>
229
+ <h3>Main Colors</h3>
230
+ <div class="grid">
231
+ {% for color_name, color_value in main_colors %}
232
+ <div>
233
+ <div class="color-sample" style="background-color: {{ color_value }};"></div>
234
+ <small>{{ color_name }}<br>{{ color_value }}</small>
235
+ </div>
236
+ {% endfor %}
237
+ </div>
238
+ </article>
239
+
240
+ <article>
241
+ <h3>All Pico CSS Variables</h3>
242
+ <div style="max-height: 300px; overflow-y: auto;">
243
+ <table>
244
+ <thead>
245
+ <tr>
246
+ <th>Variable</th>
247
+ <th>Value</th>
248
+ <th>Sample</th>
249
+ </tr>
250
+ </thead>
251
+ <tbody>
252
+ {% for var_name, var_value in all_vars %}
253
+ <tr>
254
+ <td>{{ var_name }}</td>
255
+ <td>{{ var_value }}</td>
256
+ <td>
257
+ {% if var_value.startswith('#') or var_value.startswith('rgb') %}
258
+ <div class="color-sample" style="background-color: {{ var_value }};"></div>
259
+ {% endif %}
260
+ </td>
261
+ </tr>
262
+ {% endfor %}
263
+ </tbody>
264
+ </table>
265
+ </div>
266
+ </article>
267
+
268
+ <article>
269
+ <h3>Color Contrast Checks</h3>
270
+ <table class="contrast-table">
271
+ <thead>
272
+ <tr>
273
+ <th>Foreground</th>
274
+ <th>Background</th>
275
+ <th>Contrast</th>
276
+ <th>WCAG AA</th>
277
+ </tr>
278
+ </thead>
279
+ <tbody>
280
+ {% for check in contrast_checks %}
281
+ <tr>
282
+ <td>{{ check.fg_name }}</td>
283
+ <td>{{ check.bg_name }}</td>
284
+ <td>{{ check.contrast }}</td>
285
+ <td class="{% if check.passes %}good-contrast{% else %}bad-contrast{% endif %}">
286
+ {{ "Pass" if check.passes else "Fail" }}
287
+ </td>
288
+ </tr>
289
+ {% endfor %}
290
+ </tbody>
291
+ </table>
292
+ </article>
293
+
294
+ <article>
295
+ <h3>Original Theme Colors</h3>
296
+ <div style="max-height: 300px; overflow-y: auto;">
297
+ <table>
298
+ <thead>
299
+ <tr>
300
+ <th>Group</th>
301
+ <th>Name</th>
302
+ <th>Value</th>
303
+ <th>Sample</th>
304
+ </tr>
305
+ </thead>
306
+ <tbody>
307
+ {% for group, names in original_colors.items() %}
308
+ {% for name, value in names.items() %}
309
+ <tr>
310
+ <td>{{ group }}</td>
311
+ <td>{{ name }}</td>
312
+ <td>{{ value }}</td>
313
+ <td><div class="color-sample" style="background-color: {{ value }};"></div></td>
314
+ </tr>
315
+ {% endfor %}
316
+ {% endfor %}
317
+ </tbody>
318
+ </table>
319
+ </div>
320
+ </article>
321
+ </div>
322
+ </div>
323
+ </div>
324
+ </body>
325
+ </html>
326
+