@ratiosolver/coco 0.0.92 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/coco.d.ts +122 -0
  2. package/dist/coco.js +180 -0
  3. package/dist/coco.js.map +1 -0
  4. package/dist/components/app.d.ts +3 -0
  5. package/dist/components/app.js +48 -0
  6. package/dist/components/app.js.map +1 -0
  7. package/dist/components/class.d.ts +5 -0
  8. package/dist/components/class.js +80 -0
  9. package/dist/components/class.js.map +1 -0
  10. package/dist/components/object.d.ts +5 -0
  11. package/dist/components/object.js +91 -0
  12. package/dist/components/object.js.map +1 -0
  13. package/dist/components/offcanvas.d.ts +3 -0
  14. package/dist/components/offcanvas.js +16 -0
  15. package/dist/components/offcanvas.js.map +1 -0
  16. package/dist/components/rule.d.ts +4 -0
  17. package/dist/components/rule.js +22 -0
  18. package/dist/components/rule.js.map +1 -0
  19. package/dist/favicon.ico +0 -0
  20. package/dist/index.css +1 -0
  21. package/dist/index.d.ts +7 -14
  22. package/dist/index.js +7 -27
  23. package/dist/index.js.map +1 -1
  24. package/dist/index.umd.cjs +1 -0
  25. package/dist/tsconfig.tsbuildinfo +1 -1
  26. package/package.json +29 -20
  27. package/README.md +0 -3
  28. package/dist/coco/coco.d.ts +0 -303
  29. package/dist/coco/coco.js +0 -564
  30. package/dist/coco/coco.js.map +0 -1
  31. package/dist/coco/components/chart.d.ts +0 -31
  32. package/dist/coco/components/chart.js +0 -301
  33. package/dist/coco/components/chart.js.map +0 -1
  34. package/dist/coco/components/item.d.ts +0 -17
  35. package/dist/coco/components/item.js +0 -72
  36. package/dist/coco/components/item.js.map +0 -1
  37. package/dist/coco/components/item_chart.d.ts +0 -16
  38. package/dist/coco/components/item_chart.js +0 -92
  39. package/dist/coco/components/item_chart.js.map +0 -1
  40. package/dist/coco/components/item_properties.d.ts +0 -12
  41. package/dist/coco/components/item_properties.js +0 -65
  42. package/dist/coco/components/item_properties.js.map +0 -1
  43. package/dist/coco/components/item_publisher.d.ts +0 -16
  44. package/dist/coco/components/item_publisher.js +0 -159
  45. package/dist/coco/components/item_publisher.js.map +0 -1
  46. package/dist/coco/components/item_types.d.ts +0 -13
  47. package/dist/coco/components/item_types.js +0 -48
  48. package/dist/coco/components/item_types.js.map +0 -1
  49. package/dist/coco/components/items_table.d.ts +0 -17
  50. package/dist/coco/components/items_table.js +0 -98
  51. package/dist/coco/components/items_table.js.map +0 -1
  52. package/dist/coco/components/map.d.ts +0 -200
  53. package/dist/coco/components/map.js +0 -483
  54. package/dist/coco/components/map.js.map +0 -1
  55. package/dist/coco/components/offcanvas.d.ts +0 -6
  56. package/dist/coco/components/offcanvas.js +0 -42
  57. package/dist/coco/components/offcanvas.js.map +0 -1
  58. package/dist/coco/components/publisher.d.ts +0 -22
  59. package/dist/coco/components/publisher.js +0 -339
  60. package/dist/coco/components/publisher.js.map +0 -1
  61. package/dist/coco/components/taxonomy.d.ts +0 -25
  62. package/dist/coco/components/taxonomy.js +0 -184
  63. package/dist/coco/components/taxonomy.js.map +0 -1
  64. package/dist/coco/components/type.d.ts +0 -32
  65. package/dist/coco/components/type.js +0 -151
  66. package/dist/coco/components/type.js.map +0 -1
  67. package/dist/coco/rules.d.ts +0 -30
  68. package/dist/coco/rules.js +0 -36
  69. package/dist/coco/rules.js.map +0 -1
@@ -1,483 +0,0 @@
1
- import 'leaflet/dist/leaflet.css';
2
- import * as L from 'leaflet';
3
- import { Component, ListItemComponent, App } from '@ratiosolver/flick';
4
- import { library, icon } from '@fortawesome/fontawesome-svg-core';
5
- import { faMap } from '@fortawesome/free-solid-svg-icons';
6
- import { coco } from '../coco';
7
- library.add(faMap);
8
- export class MapElement extends ListItemComponent {
9
- /**
10
- * Constructs a new instance of the class.
11
- *
12
- * @param group - The `SelectorGroup` instance to which this component belongs.
13
- * @param text - The label text for the map component. Defaults to `'Map'`.
14
- */
15
- constructor(group, text = 'Map') {
16
- super(group, undefined, icon(faMap).node[0], text);
17
- }
18
- select() {
19
- App.get_instance().selected_component(new MapComponent());
20
- }
21
- }
22
- export class MapLayer {
23
- constructor() {
24
- this.layer = L.layerGroup();
25
- }
26
- add_to(map) { this.layer.addTo(map); }
27
- remove_from(map) { this.layer.removeFrom(map); }
28
- unmount() {
29
- this.layer.clearLayers();
30
- this.layer.remove();
31
- }
32
- }
33
- export class MapComponent extends Component {
34
- constructor() {
35
- super(document.createElement('div'));
36
- this.node.style.width = '100%';
37
- this.node.style.height = '100%';
38
- }
39
- mounted() {
40
- this.map = L.map(this.node);
41
- // Set initial view to Rome, Italy
42
- this.set_view([41.9028, 12.4964], 13);
43
- }
44
- /**
45
- * Adds a tile layer to the map using the specified URL and options.
46
- *
47
- * @param url - The URL template for the tile layer. Defaults to OpenStreetMap's standard tile server.
48
- * @param options - Optional configuration options for the tile layer.
49
- */
50
- add_tile_layer(url = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', options = {}) {
51
- L.tileLayer(url, options).addTo(this.map);
52
- }
53
- /**
54
- * Sets the view of the map to the specified center and zoom level.
55
- *
56
- * @param center - The geographical center of the map view, specified as a latitude and longitude pair.
57
- * @param zoom - The zoom level for the map view. Optional; if not provided, defaults to the current zoom level.
58
- * @param options - Optional parameters for zooming and panning.
59
- */
60
- set_view(center, zoom, options) {
61
- this.map.setView(center, zoom, options);
62
- return this;
63
- }
64
- /**
65
- * Adds the specified layer to the map instance.
66
- *
67
- * @param layer - The layer to be added to the map.
68
- */
69
- add_layer(layer) { layer.add_to(this.map); }
70
- /**
71
- * Removes the specified layer from the map instance.
72
- *
73
- * @param layer - The layer to be removed from the map.
74
- */
75
- remove_layer(layer) { layer.remove_from(this.map); }
76
- }
77
- export class HeatMapLayer extends MapLayer {
78
- constructor(tiles = []) {
79
- super();
80
- this.add_tiles(tiles);
81
- }
82
- add_tiles(tiles) {
83
- const min = Math.min(...tiles.map(tile => tile.value));
84
- const max = Math.max(...tiles.map(tile => tile.value));
85
- const get_color = (value) => {
86
- const hue = (value - min) / (max - min);
87
- return `hsl(${120 - hue * 120}, 100%, 50%)`;
88
- };
89
- tiles.forEach(tile => {
90
- const rect = L.rectangle(tile.bounds, { color: undefined, fillColor: get_color(tile.value), weight: 1, fillOpacity: 0.5 });
91
- this.layer.addLayer(rect);
92
- });
93
- }
94
- }
95
- export class GeoJSONLayer extends MapLayer {
96
- constructor(geojson) {
97
- super();
98
- this.add_geojson(geojson);
99
- }
100
- add_geojson(geojson) {
101
- const layer = L.geoJSON(geojson);
102
- this.layer.addLayer(layer);
103
- }
104
- }
105
- export class CircleLayer extends MapLayer {
106
- constructor(latlng_factory, elements = []) {
107
- super();
108
- this.elements = new Map();
109
- this.latlng_factory = latlng_factory;
110
- this.add_elements(elements);
111
- }
112
- /**
113
- * Adds elements to the layer, creating circle markers for each element.
114
- *
115
- * @param els - A single element of type `P` or an array of elements of type `P` to be added to the layer.
116
- */
117
- add_elements(els) {
118
- if (!Array.isArray(els))
119
- els = [els];
120
- for (const el of els) {
121
- const circle = L.circleMarker(this.latlng_factory(el), {
122
- radius: this.radius_factory ? this.radius_factory(el) : 5,
123
- color: this.color_factory ? this.color_factory(el) : '#3388ff',
124
- });
125
- if (this.popup_factory)
126
- circle.bindPopup(this.popup_factory(el));
127
- this.layer.addLayer(circle);
128
- this.elements.set(el, circle);
129
- }
130
- }
131
- /**
132
- * Checks if an element is already present in the layer.
133
- *
134
- * @param el - The element of type `P` to check for existence in the layer.
135
- * @returns A boolean indicating whether the element exists in the layer.
136
- */
137
- has_element(el) { return this.elements.has(el); }
138
- /**
139
- * Updates the position, radius, color, and popup content of existing elements in the layer.
140
- *
141
- * @param els - A single element of type `P` or an array of elements of type `P` to be updated in the layer.
142
- */
143
- update_elements(els) {
144
- if (!Array.isArray(els))
145
- els = [els];
146
- for (const el of els) {
147
- const circle = this.elements.get(el);
148
- circle.setLatLng(this.latlng_factory(el));
149
- if (this.radius_factory)
150
- circle.setRadius(this.radius_factory(el));
151
- if (this.color_factory)
152
- circle.setStyle({ color: this.color_factory(el) });
153
- if (this.popup_factory)
154
- circle.setPopupContent(this.popup_factory(el));
155
- }
156
- }
157
- /**
158
- * Removes elements from the layer.
159
- *
160
- * @param els - A single element of type `P` or an array of elements of type `P` to be removed from the layer.
161
- */
162
- remove_elements(els) {
163
- if (!Array.isArray(els))
164
- els = [els];
165
- for (const el of els) {
166
- this.layer.removeLayer(this.elements.get(el));
167
- this.elements.delete(el);
168
- }
169
- }
170
- /**
171
- * Sets the factory function for creating the radius of the circle markers in the layer.
172
- *
173
- * @param factory - A function that takes an element of type `P` and returns a number for the radius.
174
- */
175
- set_radius_factory(factory) {
176
- this.radius_factory = factory;
177
- for (const [el, circle] of this.elements)
178
- circle.setRadius(factory(el));
179
- }
180
- /**
181
- * Sets the factory function for creating the color of the circle markers in the layer.
182
- *
183
- * @param factory - A function that takes an element of type `P` and returns a string for the color.
184
- */
185
- set_color_factory(factory) {
186
- this.color_factory = factory;
187
- for (const [el, circle] of this.elements)
188
- circle.setStyle({ color: factory(el) });
189
- }
190
- /**
191
- * Sets the factory function for creating popup content for the circle markers in the layer.
192
- *
193
- * @param factory - A function that takes an element of type `P` and returns a string for the popup content.
194
- */
195
- set_popup_factory(factory) {
196
- this.popup_factory = factory;
197
- for (const [el, circle] of this.elements)
198
- circle.setPopupContent(factory(el));
199
- }
200
- }
201
- export class IconLayer extends MapLayer {
202
- constructor(latlng_factory, elements = []) {
203
- super();
204
- this.elements = new Map();
205
- this.latlng_factory = latlng_factory;
206
- this.add_elements(elements);
207
- }
208
- /**
209
- * Adds elements to the layer, creating markers for each element with a specified icon.
210
- *
211
- * @param els - A single element of type `P` or an array of elements of type `P` to be added to the layer.
212
- */
213
- add_elements(els) {
214
- if (!Array.isArray(els))
215
- els = [els];
216
- for (const el of els) {
217
- const marker = this.icon_factory ? L.marker(this.latlng_factory(el), { icon: this.icon_factory(el) }) : L.marker(this.latlng_factory(el));
218
- if (this.popup_factory)
219
- marker.bindPopup(this.popup_factory(el));
220
- this.layer.addLayer(marker);
221
- this.elements.set(el, marker);
222
- }
223
- }
224
- /**
225
- * Checks if an element is already present in the layer.
226
- *
227
- * @param el - The element of type `P` to check for existence in the layer.
228
- * @returns A boolean indicating whether the element exists in the layer.
229
- */
230
- has_element(el) { return this.elements.has(el); }
231
- /**
232
- * Updates the position, icon, and popup content of existing elements in the layer.
233
- *
234
- * @param els - A single element of type `P` or an array of elements of type `P` to be updated in the layer.
235
- */
236
- update_elements(els) {
237
- if (!Array.isArray(els))
238
- els = [els];
239
- for (const el of els) {
240
- const marker = this.elements.get(el);
241
- marker.setLatLng(this.latlng_factory(el));
242
- if (this.icon_factory)
243
- marker.setIcon(this.icon_factory(el));
244
- if (this.popup_factory)
245
- marker.setPopupContent(this.popup_factory(el));
246
- }
247
- }
248
- /**
249
- * Removes elements from the layer.
250
- *
251
- * @param els - A single element of type `P` or an array of elements of type `P` to be removed from the layer.
252
- */
253
- remove_elements(els) {
254
- if (!Array.isArray(els))
255
- els = [els];
256
- for (const el of els) {
257
- this.layer.removeLayer(this.elements.get(el));
258
- this.elements.delete(el);
259
- }
260
- }
261
- /**
262
- * Sets the factory function for creating icons for the markers in the layer.
263
- *
264
- * @param factory - A function that takes an element of type `P` and returns a Leaflet `Icon` instance.
265
- */
266
- set_icon_factory(factory) {
267
- this.icon_factory = factory;
268
- for (const [el, marker] of this.elements)
269
- marker.setIcon(factory(el));
270
- }
271
- /**
272
- * Sets the factory function for creating popup content for the markers in the layer.
273
- *
274
- * @param factory - A function that takes an element of type `P` and returns a string for the popup content.
275
- */
276
- set_popup_factory(factory) {
277
- this.popup_factory = factory;
278
- for (const [el, marker] of this.elements)
279
- marker.setPopupContent(factory(el));
280
- }
281
- }
282
- export class ItemCircleLayer extends CircleLayer {
283
- constructor(type) {
284
- super(latlng_factory, Array.from(type.get_instances()).filter(is_static_located));
285
- this.type = type;
286
- const data = type.get_data();
287
- if (data && 'radius' in data)
288
- this.set_radius_factory(() => data.radius);
289
- if (data && 'color' in data)
290
- this.set_color_factory(() => data.color);
291
- const static_props = type.get_static_properties();
292
- if (static_props && static_props.has('radius'))
293
- this.set_radius_factory((item) => item.get_properties().radius);
294
- if (static_props && static_props.has('color'))
295
- this.set_color_factory((item) => item.get_properties().color);
296
- const dynamic_props = type.get_dynamic_properties();
297
- if (dynamic_props && dynamic_props.has('radius'))
298
- this.set_radius_factory((item) => item.get_datum().data.radius);
299
- if (dynamic_props && dynamic_props.has('color'))
300
- this.set_color_factory((item) => item.get_datum().data.color);
301
- this.set_popup_factory(popup_factory);
302
- for (const item of this.type.get_instances())
303
- if (is_static_located(item) || is_dynamic_located(item)) {
304
- this.add_elements(item);
305
- item.add_item_listener(this);
306
- }
307
- coco.CoCo.get_instance().add_coco_listener(this);
308
- }
309
- new_type(_type) { }
310
- new_item(item) {
311
- if (item.get_types().has(this.type) && (is_static_located(item) || is_dynamic_located(item))) {
312
- this.add_elements(item);
313
- item.add_item_listener(this);
314
- }
315
- }
316
- types_updated(_) { }
317
- properties_updated(item) {
318
- if (is_static_located(item)) {
319
- if (!this.has_element(item)) {
320
- this.add_elements(item);
321
- item.add_item_listener(this);
322
- }
323
- else
324
- this.update_elements(item);
325
- }
326
- else
327
- this.remove_elements(item);
328
- }
329
- values_updated(_item) { }
330
- new_value(item, _v) {
331
- if (is_dynamic_located(item)) {
332
- if (!this.has_element(item)) {
333
- this.add_elements(item);
334
- item.add_item_listener(this);
335
- }
336
- else
337
- this.update_elements(item);
338
- }
339
- else
340
- this.remove_elements(item);
341
- }
342
- slots_updated(_item) { }
343
- unmount() {
344
- super.unmount();
345
- coco.CoCo.get_instance().remove_coco_listener(this);
346
- for (const item of this.type.get_instances())
347
- item.remove_item_listener(this);
348
- }
349
- }
350
- export class ItemIconLayer extends IconLayer {
351
- constructor(type) {
352
- super(latlng_factory, Array.from(type.get_instances()).filter(is_static_located));
353
- this.type = type;
354
- const data = type.get_data();
355
- if (data && 'iconUrl' in data) {
356
- const icon = L.icon({ iconUrl: data.iconUrl });
357
- if ('iconSize' in data)
358
- icon.options.iconSize = [data.iconSize[0], data.iconSize[1]];
359
- this.set_icon_factory(() => icon);
360
- }
361
- const static_props = type.get_static_properties();
362
- if (static_props && static_props.has('iconUrl'))
363
- this.set_icon_factory((item) => {
364
- const icon = L.icon({ iconUrl: item.get_properties().iconUrl });
365
- if ('iconWidth' in item.get_properties() && 'iconHeight' in item.get_properties())
366
- icon.options.iconSize = [item.get_properties().iconWidth, item.get_properties().iconHeight];
367
- return icon;
368
- });
369
- const dynamic_props = type.get_dynamic_properties();
370
- if (dynamic_props && dynamic_props.has('iconUrl'))
371
- this.set_icon_factory((item) => {
372
- const icon = L.icon({ iconUrl: item.get_datum().data.iconUrl });
373
- if ('iconWidth' in item.get_datum().data && 'iconHeight' in item.get_datum().data)
374
- icon.options.iconSize = [item.get_datum().data.iconWidth, item.get_datum().data.iconHeight];
375
- return icon;
376
- });
377
- this.set_popup_factory(popup_factory);
378
- for (const item of this.type.get_instances())
379
- if (is_static_located(item) || is_dynamic_located(item)) {
380
- this.add_elements(item);
381
- item.add_item_listener(this);
382
- }
383
- coco.CoCo.get_instance().add_coco_listener(this);
384
- }
385
- new_type(_type) { }
386
- new_item(item) {
387
- if (item.get_types().has(this.type) && (is_static_located(item) || is_dynamic_located(item))) {
388
- this.add_elements(item);
389
- item.add_item_listener(this);
390
- }
391
- }
392
- types_updated(_) { }
393
- properties_updated(item) {
394
- if (is_static_located(item)) {
395
- if (!this.has_element(item)) {
396
- this.add_elements(item);
397
- item.add_item_listener(this);
398
- }
399
- else
400
- this.update_elements(item);
401
- }
402
- else
403
- this.remove_elements(item);
404
- }
405
- values_updated(_item) { }
406
- new_value(item, _v) {
407
- if (is_dynamic_located(item)) {
408
- if (!this.has_element(item)) {
409
- this.add_elements(item);
410
- item.add_item_listener(this);
411
- }
412
- else
413
- this.update_elements(item);
414
- }
415
- else
416
- this.remove_elements(item);
417
- }
418
- slots_updated(_item) { }
419
- unmount() {
420
- super.unmount();
421
- coco.CoCo.get_instance().remove_coco_listener(this);
422
- for (const item of this.type.get_instances())
423
- item.remove_item_listener(this);
424
- }
425
- static is_icon_layer(type) {
426
- var _a, _b;
427
- const data = type.get_data();
428
- if (data && 'iconUrl' in data)
429
- return true;
430
- return ((_a = type.get_static_properties()) === null || _a === void 0 ? void 0 : _a.has('iconUrl')) || ((_b = type.get_dynamic_properties()) === null || _b === void 0 ? void 0 : _b.has('iconUrl')) || false;
431
- }
432
- }
433
- /**
434
- * Determines whether a given type is considered "located", i.e., if it has location-related properties.
435
- *
436
- * A type is considered located if:
437
- * - It has a static property named 'location', or
438
- * - It has dynamic properties named both 'lat' and 'lng'.
439
- *
440
- * @param type - The taxonomy type to check for location properties.
441
- * @returns `true` if the type is located, otherwise `false`.
442
- */
443
- export function is_located(type) {
444
- var _a, _b, _c;
445
- return ((_a = type.get_static_properties()) === null || _a === void 0 ? void 0 : _a.has('location')) || ((_b = type.get_dynamic_properties()) === null || _b === void 0 ? void 0 : _b.has('lat')) && ((_c = type.get_dynamic_properties()) === null || _c === void 0 ? void 0 : _c.has('lng')) || false;
446
- }
447
- function is_static_located(item) {
448
- const props = item.get_properties();
449
- return !!(props && 'location' in props);
450
- }
451
- function is_dynamic_located(item) {
452
- var _a;
453
- const data = (_a = item.get_datum()) === null || _a === void 0 ? void 0 : _a.data;
454
- return !!(data && 'lat' in data && 'lng' in data);
455
- }
456
- function latlng_factory(item) {
457
- if (is_static_located(item)) {
458
- const loc = coco.CoCo.get_instance().get_item(item.get_properties().location);
459
- return [loc.get_properties().lat, loc.get_properties().lng];
460
- }
461
- else if (is_dynamic_located(item))
462
- return [item.get_datum().data.lat, item.get_datum().data.lng];
463
- else
464
- throw new Error(`Item ${item.to_string()} is not static or dynamic located.`);
465
- }
466
- function popup_factory(item) {
467
- var _a;
468
- let popup = '';
469
- const props = item.get_properties();
470
- const data = (_a = item.get_datum()) === null || _a === void 0 ? void 0 : _a.data;
471
- if (props)
472
- for (const key of Object.keys(props))
473
- if (key !== 'location')
474
- popup += `<b>${key}</b>: ${props[key]}<br>`;
475
- if (data)
476
- for (const key of Object.keys(data))
477
- if (key !== 'lat' && key !== 'lng')
478
- popup += `<b>${key}</b>: ${data[key]}<br>`;
479
- if (popup === '')
480
- return item.to_string();
481
- return popup;
482
- }
483
- //# sourceMappingURL=map.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../src/coco/components/map.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { Component } from "@ratiosolver/flick";
2
- export declare class Offcanvas extends Component<HTMLDivElement> {
3
- private body;
4
- constructor(id?: string);
5
- get_id(): string;
6
- }
@@ -1,42 +0,0 @@
1
- import { Component, SelectorGroup } from "@ratiosolver/flick";
2
- import { TypeList } from "./type";
3
- import { ItemList } from "./item";
4
- import { TaxonomyElement } from "./taxonomy";
5
- class ULComponent extends Component {
6
- constructor(group) {
7
- super(document.createElement('ul'));
8
- this.node.classList.add('nav', 'nav-pills', 'list-group', 'flex-column');
9
- this.add_child(new TaxonomyElement(group));
10
- }
11
- }
12
- class OffcanvasBody extends Component {
13
- constructor() {
14
- super(document.createElement('div'));
15
- this.group = new SelectorGroup();
16
- this.ul = new ULComponent(this.group);
17
- this.type_list = new TypeList(this.group);
18
- this.item_list = new ItemList(this.group);
19
- this.node.classList.add('offcanvas-body', 'flex-column', 'flex-shrink-0', 'p-3', 'bg-light');
20
- this.add_child(this.ul);
21
- const types_lab = document.createElement('label');
22
- types_lab.innerText = "Types";
23
- this.node.append(types_lab);
24
- this.add_child(this.type_list);
25
- const items_lab = document.createElement('label');
26
- items_lab.innerText = "Items";
27
- this.node.append(items_lab);
28
- this.add_child(this.item_list);
29
- }
30
- }
31
- export class Offcanvas extends Component {
32
- constructor(id = 'coco-offcanvas') {
33
- super(document.createElement('div'));
34
- this.node.classList.add('offcanvas', 'offcanvas-start', 'd-flex');
35
- this.node.tabIndex = -1;
36
- this.node.id = id;
37
- this.body = new OffcanvasBody();
38
- this.add_child(this.body);
39
- }
40
- get_id() { return this.node.id; }
41
- }
42
- //# sourceMappingURL=offcanvas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"offcanvas.js","sourceRoot":"","sources":["../../../src/coco/components/offcanvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAY,SAAQ,SAA2B;IAEnD,YAAY,KAAoB;QAC9B,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAEzE,IAAI,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,aAAc,SAAQ,SAAyB;IAOnD;QACE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAN/B,UAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QAC5B,OAAE,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,cAAS,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,cAAS,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAI3C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAE7F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAExB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAClD,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE/B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAClD,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,SAAyB;IAItD,YAAY,KAAa,gBAAgB;QACvC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAErC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAElB,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC;QAEhC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;CAC1C"}
@@ -1,22 +0,0 @@
1
- import { coco } from '../coco';
2
- export declare namespace publisher {
3
- class PublisherManager {
4
- private static instance;
5
- private publishers;
6
- private constructor();
7
- static get_instance(): PublisherManager;
8
- add_publisher_generator<V>(publisher: PublisherGenerator<V>): void;
9
- get_publisher_generator(name: string): PublisherGenerator<unknown>;
10
- }
11
- abstract class PublisherGenerator<V> {
12
- private name;
13
- constructor(name: string);
14
- get_name(): string;
15
- abstract make_publisher(name: string, property: coco.taxonomy.Property<unknown>, val: Record<string, unknown>): Publisher<V>;
16
- }
17
- interface Publisher<V> {
18
- get_value(): V;
19
- set_value(v: V): void;
20
- get_element(): HTMLElement;
21
- }
22
- }