@fieldia/map 0.14.1 → 0.16.0

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 (108) hide show
  1. package/README.md +103 -10
  2. package/package.json +5 -4
  3. package/src/index.d.mts +5 -1
  4. package/src/index.d.ts +5 -1
  5. package/src/index.js +7 -1
  6. package/src/index.js.map +1 -1
  7. package/src/index.mjs +3 -0
  8. package/src/index.mjs.map +1 -1
  9. package/src/lib/answers.d.mts +17 -0
  10. package/src/lib/answers.d.ts +17 -0
  11. package/src/lib/answers.js +27 -0
  12. package/src/lib/answers.js.map +1 -0
  13. package/src/lib/answers.mjs +21 -0
  14. package/src/lib/answers.mjs.map +1 -0
  15. package/src/lib/area.js +29 -246
  16. package/src/lib/area.js.map +1 -1
  17. package/src/lib/area.mjs +29 -246
  18. package/src/lib/area.mjs.map +1 -1
  19. package/src/lib/card.d.mts +53 -0
  20. package/src/lib/card.d.ts +53 -0
  21. package/src/lib/card.js +98 -0
  22. package/src/lib/card.js.map +1 -0
  23. package/src/lib/card.mjs +94 -0
  24. package/src/lib/card.mjs.map +1 -0
  25. package/src/lib/cluster.d.mts +12 -0
  26. package/src/lib/cluster.d.ts +12 -0
  27. package/src/lib/cluster.js +60 -0
  28. package/src/lib/cluster.js.map +1 -0
  29. package/src/lib/cluster.mjs +57 -0
  30. package/src/lib/cluster.mjs.map +1 -0
  31. package/src/lib/drawing.d.mts +36 -0
  32. package/src/lib/drawing.d.ts +36 -0
  33. package/src/lib/drawing.js +267 -0
  34. package/src/lib/drawing.js.map +1 -0
  35. package/src/lib/drawing.mjs +263 -0
  36. package/src/lib/drawing.mjs.map +1 -0
  37. package/src/lib/form-map.d.mts +16 -0
  38. package/src/lib/form-map.d.ts +16 -0
  39. package/src/lib/form-map.js +525 -0
  40. package/src/lib/form-map.js.map +1 -0
  41. package/src/lib/form-map.mjs +522 -0
  42. package/src/lib/form-map.mjs.map +1 -0
  43. package/src/lib/kinds.js +9 -2
  44. package/src/lib/kinds.js.map +1 -1
  45. package/src/lib/kinds.mjs +9 -2
  46. package/src/lib/kinds.mjs.map +1 -1
  47. package/src/lib/labels.d.mts +41 -0
  48. package/src/lib/labels.d.ts +41 -0
  49. package/src/lib/labels.js +87 -1
  50. package/src/lib/labels.js.map +1 -1
  51. package/src/lib/labels.mjs +84 -0
  52. package/src/lib/labels.mjs.map +1 -1
  53. package/src/lib/list-view.d.mts +13 -0
  54. package/src/lib/list-view.d.ts +13 -0
  55. package/src/lib/list-view.js +464 -0
  56. package/src/lib/list-view.js.map +1 -0
  57. package/src/lib/list-view.mjs +461 -0
  58. package/src/lib/list-view.mjs.map +1 -0
  59. package/src/lib/map-core.d.mts +2 -2
  60. package/src/lib/map-core.d.ts +2 -2
  61. package/src/lib/map-core.js +23 -3
  62. package/src/lib/map-core.js.map +1 -1
  63. package/src/lib/map-core.mjs +23 -3
  64. package/src/lib/map-core.mjs.map +1 -1
  65. package/src/lib/map-icons.d.mts +8 -0
  66. package/src/lib/map-icons.d.ts +8 -0
  67. package/src/lib/map-icons.js +21 -0
  68. package/src/lib/map-icons.js.map +1 -0
  69. package/src/lib/map-icons.mjs +18 -0
  70. package/src/lib/map-icons.mjs.map +1 -0
  71. package/src/lib/marks.d.mts +34 -0
  72. package/src/lib/marks.d.ts +34 -0
  73. package/src/lib/marks.js +56 -0
  74. package/src/lib/marks.js.map +1 -0
  75. package/src/lib/marks.mjs +49 -0
  76. package/src/lib/marks.mjs.map +1 -0
  77. package/src/lib/pins.d.mts +58 -0
  78. package/src/lib/pins.d.ts +58 -0
  79. package/src/lib/pins.js +165 -0
  80. package/src/lib/pins.js.map +1 -0
  81. package/src/lib/pins.mjs +156 -0
  82. package/src/lib/pins.mjs.map +1 -0
  83. package/src/lib/providers.d.mts +27 -3
  84. package/src/lib/providers.d.ts +27 -3
  85. package/src/lib/providers.js +69 -67
  86. package/src/lib/providers.js.map +1 -1
  87. package/src/lib/providers.mjs +17 -15
  88. package/src/lib/providers.mjs.map +1 -1
  89. package/src/lib/route-line.d.mts +34 -0
  90. package/src/lib/route-line.d.ts +34 -0
  91. package/src/lib/route-line.js +53 -0
  92. package/src/lib/route-line.js.map +1 -0
  93. package/src/lib/route-line.mjs +47 -0
  94. package/src/lib/route-line.mjs.map +1 -0
  95. package/src/lib/routes.d.mts +28 -0
  96. package/src/lib/routes.d.ts +28 -0
  97. package/src/lib/routes.js +112 -0
  98. package/src/lib/routes.js.map +1 -0
  99. package/src/lib/routes.mjs +105 -0
  100. package/src/lib/routes.mjs.map +1 -0
  101. package/src/lib/settings.d.mts +8 -3
  102. package/src/lib/settings.d.ts +8 -3
  103. package/src/lib/styles.d.mts +16 -0
  104. package/src/lib/styles.d.ts +16 -0
  105. package/src/lib/styles.js +181 -1
  106. package/src/lib/styles.js.map +1 -1
  107. package/src/lib/styles.mjs +178 -0
  108. package/src/lib/styles.mjs.map +1 -1
@@ -17,7 +17,7 @@ export function createMapBox(options) {
17
17
  element.className = 'fd-map-box';
18
18
  // The map's own layout is left to right in every language; the controls over it follow the page.
19
19
  element.dir = 'ltr';
20
- element.style.setProperty('--fd-map-height', `${options.height ?? 280}px`);
20
+ element.style.setProperty('--fd-map-height', typeof options.height === 'string' ? options.height : `${options.height ?? 280}px`);
21
21
  element.setAttribute('role', 'region');
22
22
  element.setAttribute('aria-label', fill(labels.mapOf, { label: options.name }));
23
23
  const keysId = `fd-map-keys-${Math.random().toString(36).slice(2, 9)}`;
@@ -264,8 +264,28 @@ export function createMapBox(options) {
264
264
  element.append(...overlays);
265
265
  for (const over of overlays)
266
266
  shield(over);
267
- zoomIn.addEventListener('click', () => map?.zoomIn());
268
- zoomOut.addEventListener('click', () => map?.zoomOut());
267
+ // A press while the map still zooms from the last is kept and made when that zoom ends (Leaflet drops it): two quick presses, two steps.
268
+ let zooming = false;
269
+ let owed = 0;
270
+ map.on('zoomstart', () => (zooming = true));
271
+ map.on('zoomend', () => {
272
+ zooming = false;
273
+ if (!owed || !map)
274
+ return;
275
+ const by = owed;
276
+ owed = 0;
277
+ map.setZoom(map.getZoom() + by);
278
+ });
279
+ const step = (by) => {
280
+ if (!map)
281
+ return;
282
+ if (zooming)
283
+ owed += by;
284
+ else
285
+ map.setZoom(map.getZoom() + by);
286
+ };
287
+ zoomIn.addEventListener('click', () => step(1));
288
+ zoomOut.addEventListener('click', () => step(-1));
269
289
  map.on('moveend', askCredits);
270
290
  // Shown at last in a tab or a dialog: the map measures itself again.
271
291
  const ResizeWatch = doc.defaultView?.ResizeObserver;
@@ -1 +1 @@
1
- {"version":3,"file":"map-core.mjs","sourceRoot":"","sources":["../../../../../libs/map/src/lib/map-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map-core.mjs","sourceRoot":"","sources":["../../../../../libs/map/src/lib/map-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { IconSet } from '@fieldia/widgets';
2
+ /**
3
+ * The maps' own icons, beside Fieldia's (home, building, truck, user, pin…),
4
+ * for a pin that shows what it stands for: a car, a scooter, a shop. Drawn
5
+ * like Fieldia's: lines on a 24 grid in the current colour. Those that turn
6
+ * with a heading (the car, the arrow) face up, as north is on the map.
7
+ */
8
+ export declare const MAP_ICONS: IconSet;
@@ -0,0 +1,8 @@
1
+ import type { IconSet } from '@fieldia/widgets';
2
+ /**
3
+ * The maps' own icons, beside Fieldia's (home, building, truck, user, pin…),
4
+ * for a pin that shows what it stands for: a car, a scooter, a shop. Drawn
5
+ * like Fieldia's: lines on a 24 grid in the current colour. Those that turn
6
+ * with a heading (the car, the arrow) face up, as north is on the map.
7
+ */
8
+ export declare const MAP_ICONS: IconSet;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAP_ICONS = void 0;
4
+ /**
5
+ * The maps' own icons, beside Fieldia's (home, building, truck, user, pin…),
6
+ * for a pin that shows what it stands for: a car, a scooter, a shop. Drawn
7
+ * like Fieldia's: lines on a 24 grid in the current colour. Those that turn
8
+ * with a heading (the car, the arrow) face up, as north is on the map.
9
+ */
10
+ exports.MAP_ICONS = {
11
+ car: '<rect x="6.5" y="2.5" width="11" height="19" rx="3.5"/><path d="M8.5 9l1-2.5h5l1 2.5zM8.5 17.5h7"/>',
12
+ arrow: '<path d="M12 3l7 18-7-4-7 4z"/>',
13
+ scooter: '<circle cx="6" cy="17" r="2.5"/><circle cx="18" cy="17" r="2.5"/><path d="M8.5 17h7M14 5h2.5l2 9.5M11 14h6.5"/>',
14
+ bike: '<circle cx="6" cy="16" r="3.5"/><circle cx="18" cy="16" r="3.5"/><path d="M6 16l4-7h6l2 7M10 9l2 7M14 5.5h3"/>',
15
+ bus: '<rect x="5" y="3" width="14" height="15" rx="2.5"/><path d="M5 11h14M8 18v3M16 18v3M8.5 14.5h.01M15.5 14.5h.01"/>',
16
+ person: '<circle cx="12" cy="4.5" r="2"/><path d="M12 7v6l-3 7M12 13l3 7M8 10h8"/>',
17
+ shop: '<path d="M4 9l1.5-5h13L20 9M4 9v11h16V9M4 9c0 1.7 1.8 3 4 3s4-1.3 4-3c0 1.7 1.8 3 4 3s4-1.3 4-3M10 20v-5h4v5"/>',
18
+ food: '<path d="M5 3v6a2 2 0 0 0 4 0V3M7 11v10M17 21V3c-2 1-3 4-3 8h3"/>',
19
+ flag: '<path d="M5 21V4h11l-2 4 2 4H5"/>',
20
+ };
21
+ //# sourceMappingURL=map-icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-icons.js","sourceRoot":"","sources":["../../../../../libs/map/src/lib/map-icons.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACU,QAAA,SAAS,GAAY;IAChC,GAAG,EAAE,qGAAqG;IAC1G,KAAK,EAAE,iCAAiC;IACxC,OAAO,EAAE,iHAAiH;IAC1H,IAAI,EAAE,gHAAgH;IACtH,GAAG,EAAE,mHAAmH;IACxH,MAAM,EAAE,2EAA2E;IACnF,IAAI,EAAE,iHAAiH;IACvH,IAAI,EAAE,mEAAmE;IACzE,IAAI,EAAE,mCAAmC;CAC1C,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The maps' own icons, beside Fieldia's (home, building, truck, user, pin…),
3
+ * for a pin that shows what it stands for: a car, a scooter, a shop. Drawn
4
+ * like Fieldia's: lines on a 24 grid in the current colour. Those that turn
5
+ * with a heading (the car, the arrow) face up, as north is on the map.
6
+ */
7
+ export const MAP_ICONS = {
8
+ car: '<rect x="6.5" y="2.5" width="11" height="19" rx="3.5"/><path d="M8.5 9l1-2.5h5l1 2.5zM8.5 17.5h7"/>',
9
+ arrow: '<path d="M12 3l7 18-7-4-7 4z"/>',
10
+ scooter: '<circle cx="6" cy="17" r="2.5"/><circle cx="18" cy="17" r="2.5"/><path d="M8.5 17h7M14 5h2.5l2 9.5M11 14h6.5"/>',
11
+ bike: '<circle cx="6" cy="16" r="3.5"/><circle cx="18" cy="16" r="3.5"/><path d="M6 16l4-7h6l2 7M10 9l2 7M14 5.5h3"/>',
12
+ bus: '<rect x="5" y="3" width="14" height="15" rx="2.5"/><path d="M5 11h14M8 18v3M16 18v3M8.5 14.5h.01M15.5 14.5h.01"/>',
13
+ person: '<circle cx="12" cy="4.5" r="2"/><path d="M12 7v6l-3 7M12 13l3 7M8 10h8"/>',
14
+ shop: '<path d="M4 9l1.5-5h13L20 9M4 9v11h16V9M4 9c0 1.7 1.8 3 4 3s4-1.3 4-3c0 1.7 1.8 3 4 3s4-1.3 4-3M10 20v-5h4v5"/>',
15
+ food: '<path d="M5 3v6a2 2 0 0 0 4 0V3M7 11v10M17 21V3c-2 1-3 4-3 8h3"/>',
16
+ flag: '<path d="M5 21V4h11l-2 4 2 4H5"/>',
17
+ };
18
+ //# sourceMappingURL=map-icons.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-icons.mjs","sourceRoot":"","sources":["../../../../../libs/map/src/lib/map-icons.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAY;IAChC,GAAG,EAAE,qGAAqG;IAC1G,KAAK,EAAE,iCAAiC;IACxC,OAAO,EAAE,iHAAiH;IAC1H,IAAI,EAAE,gHAAgH;IACtH,GAAG,EAAE,mHAAmH;IACxH,MAAM,EAAE,2EAA2E;IACnF,IAAI,EAAE,iHAAiH;IACvH,IAAI,EAAE,mEAAmE;IACzE,IAAI,EAAE,mCAAmC;CAC1C,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type * as Leaflet from 'leaflet';
2
+ import type { Card } from './card.mjs';
3
+ import type { LatLng } from './geo.mjs';
4
+ import type { LeafletModule } from './leaflet.mjs';
5
+ import type { PinFace } from './pins.mjs';
6
+ /**
7
+ * What every map of records does with its marks: each as large as its face
8
+ * and stood on its point; pressed by a click, or by Enter or Space when it
9
+ * has the focus; and the card it opens, over the map at its place.
10
+ */
11
+ /** The keys that move a map: on a card they stay with the card. */
12
+ export declare const MOVE_KEYS: Set<string>;
13
+ /** No size for a mark: Leaflet then sets none, and the mark is as large as its face (its types leave null out; its code takes it). */
14
+ export declare const SIZED_BY_FACE: Leaflet.PointExpression;
15
+ /** How a mark stands on its point: its size is its face's, so CSS stands it there. */
16
+ export declare const anchor: (face: PinFace) => "fd-map-tail" | "fd-map-foot" | "fd-map-middle";
17
+ /**
18
+ * A mark pressed: clicked, or Enter or Space while it has the focus. Leaflet
19
+ * makes a mark a button to the keyboard but clicks it only for a popup of its own.
20
+ */
21
+ export declare function onPress(marker: Leaflet.Marker, act: (event: MouseEvent | KeyboardEvent | undefined) => void): void;
22
+ /** Whether a press came from the keys: then its card takes the focus. */
23
+ export declare const byKeys: (event: Event | undefined) => boolean;
24
+ /**
25
+ * A card over the map, its tip on a mark `height` pixels tall: Escape closes
26
+ * it (back to its mark), and the arrows stay with the card, not the map.
27
+ */
28
+ export declare function popCard(map: Leaflet.Map, L: LeafletModule, options: {
29
+ at: LatLng;
30
+ height: number;
31
+ card: Card;
32
+ focus: boolean;
33
+ escape(): void;
34
+ }): Leaflet.Popup;
@@ -0,0 +1,34 @@
1
+ import type * as Leaflet from 'leaflet';
2
+ import type { Card } from './card';
3
+ import type { LatLng } from './geo';
4
+ import type { LeafletModule } from './leaflet';
5
+ import type { PinFace } from './pins';
6
+ /**
7
+ * What every map of records does with its marks: each as large as its face
8
+ * and stood on its point; pressed by a click, or by Enter or Space when it
9
+ * has the focus; and the card it opens, over the map at its place.
10
+ */
11
+ /** The keys that move a map: on a card they stay with the card. */
12
+ export declare const MOVE_KEYS: Set<string>;
13
+ /** No size for a mark: Leaflet then sets none, and the mark is as large as its face (its types leave null out; its code takes it). */
14
+ export declare const SIZED_BY_FACE: Leaflet.PointExpression;
15
+ /** How a mark stands on its point: its size is its face's, so CSS stands it there. */
16
+ export declare const anchor: (face: PinFace) => "fd-map-tail" | "fd-map-foot" | "fd-map-middle";
17
+ /**
18
+ * A mark pressed: clicked, or Enter or Space while it has the focus. Leaflet
19
+ * makes a mark a button to the keyboard but clicks it only for a popup of its own.
20
+ */
21
+ export declare function onPress(marker: Leaflet.Marker, act: (event: MouseEvent | KeyboardEvent | undefined) => void): void;
22
+ /** Whether a press came from the keys: then its card takes the focus. */
23
+ export declare const byKeys: (event: Event | undefined) => boolean;
24
+ /**
25
+ * A card over the map, its tip on a mark `height` pixels tall: Escape closes
26
+ * it (back to its mark), and the arrows stay with the card, not the map.
27
+ */
28
+ export declare function popCard(map: Leaflet.Map, L: LeafletModule, options: {
29
+ at: LatLng;
30
+ height: number;
31
+ card: Card;
32
+ focus: boolean;
33
+ escape(): void;
34
+ }): Leaflet.Popup;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.byKeys = exports.anchor = exports.SIZED_BY_FACE = exports.MOVE_KEYS = void 0;
4
+ exports.onPress = onPress;
5
+ exports.popCard = popCard;
6
+ /**
7
+ * What every map of records does with its marks: each as large as its face
8
+ * and stood on its point; pressed by a click, or by Enter or Space when it
9
+ * has the focus; and the card it opens, over the map at its place.
10
+ */
11
+ /** The keys that move a map: on a card they stay with the card. */
12
+ exports.MOVE_KEYS = new Set(['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', '+', '-', '=', '_']);
13
+ /** No size for a mark: Leaflet then sets none, and the mark is as large as its face (its types leave null out; its code takes it). */
14
+ exports.SIZED_BY_FACE = null;
15
+ /** How a mark stands on its point: its size is its face's, so CSS stands it there. */
16
+ const anchor = (face) => (face.element.dataset['look'] === 'label' ? 'fd-map-tail' : face.stands === 'foot' ? 'fd-map-foot' : 'fd-map-middle');
17
+ exports.anchor = anchor;
18
+ /**
19
+ * A mark pressed: clicked, or Enter or Space while it has the focus. Leaflet
20
+ * makes a mark a button to the keyboard but clicks it only for a popup of its own.
21
+ */
22
+ function onPress(marker, act) {
23
+ marker.on('click', (event) => act(event.originalEvent));
24
+ marker.on('keydown', (event) => {
25
+ const key = event.originalEvent;
26
+ if (key.key !== 'Enter' && key.key !== ' ')
27
+ return;
28
+ key.preventDefault();
29
+ act(key);
30
+ });
31
+ }
32
+ /** Whether a press came from the keys: then its card takes the focus. */
33
+ const byKeys = (event) => !!event && event.type.startsWith('key');
34
+ exports.byKeys = byKeys;
35
+ /**
36
+ * A card over the map, its tip on a mark `height` pixels tall: Escape closes
37
+ * it (back to its mark), and the arrows stay with the card, not the map.
38
+ */
39
+ function popCard(map, L, options) {
40
+ options.card.element.addEventListener('keydown', (event) => {
41
+ if (event.key === 'Escape') {
42
+ event.stopPropagation();
43
+ options.escape();
44
+ }
45
+ else if (exports.MOVE_KEYS.has(event.key))
46
+ event.stopPropagation();
47
+ });
48
+ const popup = L.popup({ closeButton: false, autoPanPadding: [16, 16], className: 'fd-map-card-popup', minWidth: 220, maxWidth: 280, offset: [0, 4 - options.height] })
49
+ .setLatLng([options.at.lat, options.at.lng])
50
+ .setContent(options.card.element);
51
+ popup.openOn(map);
52
+ if (options.focus)
53
+ options.card.focus();
54
+ return popup;
55
+ }
56
+ //# sourceMappingURL=marks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marks.js","sourceRoot":"","sources":["../../../../../libs/map/src/lib/marks.ts"],"names":[],"mappings":";;;AAyBA,0BAQC;AASD,0BAaC;AAjDD;;;;GAIG;AAEH,mEAAmE;AACtD,QAAA,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE1G,sIAAsI;AACzH,QAAA,aAAa,GAAG,IAA0C,CAAC;AAExE,sFAAsF;AAC/E,MAAM,MAAM,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;AAAlJ,QAAA,MAAM,UAA4I;AAE/J;;;GAGG;AACH,SAAgB,OAAO,CAAC,MAAsB,EAAE,GAA4D;IAC1G,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAgC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IACnF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAmC,EAAE,EAAE;QAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC;QAChC,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG;YAAE,OAAO;QACnD,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,GAAG,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AAED,yEAAyE;AAClE,MAAM,MAAM,GAAG,CAAC,KAAwB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAA/E,QAAA,MAAM,UAAyE;AAE5F;;;GAGG;AACH,SAAgB,OAAO,CAAC,GAAgB,EAAE,CAAgB,EAAE,OAAmF;IAC7I,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC3B,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,CAAC;aAAM,IAAI,iBAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,KAAK,CAAC,eAAe,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;SACnK,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SAC3C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACxC,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * What every map of records does with its marks: each as large as its face
3
+ * and stood on its point; pressed by a click, or by Enter or Space when it
4
+ * has the focus; and the card it opens, over the map at its place.
5
+ */
6
+ /** The keys that move a map: on a card they stay with the card. */
7
+ export const MOVE_KEYS = new Set(['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', '+', '-', '=', '_']);
8
+ /** No size for a mark: Leaflet then sets none, and the mark is as large as its face (its types leave null out; its code takes it). */
9
+ export const SIZED_BY_FACE = null;
10
+ /** How a mark stands on its point: its size is its face's, so CSS stands it there. */
11
+ export const anchor = (face) => (face.element.dataset['look'] === 'label' ? 'fd-map-tail' : face.stands === 'foot' ? 'fd-map-foot' : 'fd-map-middle');
12
+ /**
13
+ * A mark pressed: clicked, or Enter or Space while it has the focus. Leaflet
14
+ * makes a mark a button to the keyboard but clicks it only for a popup of its own.
15
+ */
16
+ export function onPress(marker, act) {
17
+ marker.on('click', (event) => act(event.originalEvent));
18
+ marker.on('keydown', (event) => {
19
+ const key = event.originalEvent;
20
+ if (key.key !== 'Enter' && key.key !== ' ')
21
+ return;
22
+ key.preventDefault();
23
+ act(key);
24
+ });
25
+ }
26
+ /** Whether a press came from the keys: then its card takes the focus. */
27
+ export const byKeys = (event) => !!event && event.type.startsWith('key');
28
+ /**
29
+ * A card over the map, its tip on a mark `height` pixels tall: Escape closes
30
+ * it (back to its mark), and the arrows stay with the card, not the map.
31
+ */
32
+ export function popCard(map, L, options) {
33
+ options.card.element.addEventListener('keydown', (event) => {
34
+ if (event.key === 'Escape') {
35
+ event.stopPropagation();
36
+ options.escape();
37
+ }
38
+ else if (MOVE_KEYS.has(event.key))
39
+ event.stopPropagation();
40
+ });
41
+ const popup = L.popup({ closeButton: false, autoPanPadding: [16, 16], className: 'fd-map-card-popup', minWidth: 220, maxWidth: 280, offset: [0, 4 - options.height] })
42
+ .setLatLng([options.at.lat, options.at.lng])
43
+ .setContent(options.card.element);
44
+ popup.openOn(map);
45
+ if (options.focus)
46
+ options.card.focus();
47
+ return popup;
48
+ }
49
+ //# sourceMappingURL=marks.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marks.mjs","sourceRoot":"","sources":["../../../../../libs/map/src/lib/marks.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AAEH,mEAAmE;AACnE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE1G,sIAAsI;AACtI,MAAM,CAAC,MAAM,aAAa,GAAG,IAA0C,CAAC;AAExE,sFAAsF;AACtF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;AAE/J;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,MAAsB,EAAE,GAA4D;IAC1G,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAgC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IACnF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAmC,EAAE,EAAE;QAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC;QAChC,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG;YAAE,OAAO;QACnD,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,GAAG,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAwB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAE5F;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,GAAgB,EAAE,CAAgB,EAAE,OAAmF;IAC7I,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC3B,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,CAAC;aAAM,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,KAAK,CAAC,eAAe,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;SACnK,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SAC3C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACxC,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { type Locale, type Page, type Pin, type RecordId, type Value, type Values } from '@fieldia/core';
2
+ import { type IconSet } from '@fieldia/widgets';
3
+ /**
4
+ * A record's pin on a list's map, as the page says: a pin, an icon (a car
5
+ * facing its way), a round photo (a courier's face), a label (a price, a
6
+ * name, minutes away) or a dot, in a tone while a condition holds on the
7
+ * record; or the app's own, drawn by its function. Built from elements:
8
+ * a record's words and pictures never pass through HTML.
9
+ */
10
+ export interface MapRecord {
11
+ id: RecordId;
12
+ values: Values;
13
+ }
14
+ /** The app's own pin, by the name `pin.widget` gives: an element drawn from the record. */
15
+ export type PinDrawer = (record: MapRecord, context: {
16
+ document: Document;
17
+ locale: Locale;
18
+ page: Page;
19
+ }) => HTMLElement;
20
+ export interface PinFace {
21
+ element: HTMLElement;
22
+ /** Where the face stands on its point: by its foot (a pin, a label) or by its middle. */
23
+ stands: 'foot' | 'middle';
24
+ /** How tall it is, in pixels: a card opens above it. */
25
+ height: number;
26
+ }
27
+ export interface Pins {
28
+ face(record: MapRecord): PinFace;
29
+ /** The pin's name for assistive technology: the record's title, and what the pin says. */
30
+ name(record: MapRecord): string;
31
+ /** The fields the pins read, to ask for with the records. */
32
+ readonly fields: string[];
33
+ }
34
+ export interface PinsOptions {
35
+ document: Document;
36
+ page: Page;
37
+ locale: Locale;
38
+ pin: Pin;
39
+ /** The field that names a record: the card's title, or the list's first column. */
40
+ title: string;
41
+ icons?: IconSet;
42
+ drawers?: Record<string, PinDrawer>;
43
+ }
44
+ export declare function makePins(options: PinsOptions): Pins;
45
+ /** The comma between a name's parts, in the page's language. */
46
+ export declare const comma: (locale: Locale) => ", " | "، ";
47
+ /** A field, and the field its amount's currency is in. */
48
+ export declare function withCurrency(page: Page, name: string): string[];
49
+ /** A value as a person reads it in full: a card's line, a pin's name. */
50
+ export declare function shown(page: Page, name: string, values: Values, locale: Locale): string;
51
+ /**
52
+ * What a pin says, short enough for a pin: an amount or a number in the
53
+ * page's language, compact ("E£9.5M", "12K", "4.6"); anything else as a
54
+ * card would show it.
55
+ */
56
+ export declare function pinText(page: Page, name: string, values: Values, locale: Locale): string;
57
+ /** An image field's picture as an address: its first file's data, or where it is kept. */
58
+ export declare function imageSource(value: Value | undefined): string;
@@ -0,0 +1,58 @@
1
+ import { type Locale, type Page, type Pin, type RecordId, type Value, type Values } from '@fieldia/core';
2
+ import { type IconSet } from '@fieldia/widgets';
3
+ /**
4
+ * A record's pin on a list's map, as the page says: a pin, an icon (a car
5
+ * facing its way), a round photo (a courier's face), a label (a price, a
6
+ * name, minutes away) or a dot, in a tone while a condition holds on the
7
+ * record; or the app's own, drawn by its function. Built from elements:
8
+ * a record's words and pictures never pass through HTML.
9
+ */
10
+ export interface MapRecord {
11
+ id: RecordId;
12
+ values: Values;
13
+ }
14
+ /** The app's own pin, by the name `pin.widget` gives: an element drawn from the record. */
15
+ export type PinDrawer = (record: MapRecord, context: {
16
+ document: Document;
17
+ locale: Locale;
18
+ page: Page;
19
+ }) => HTMLElement;
20
+ export interface PinFace {
21
+ element: HTMLElement;
22
+ /** Where the face stands on its point: by its foot (a pin, a label) or by its middle. */
23
+ stands: 'foot' | 'middle';
24
+ /** How tall it is, in pixels: a card opens above it. */
25
+ height: number;
26
+ }
27
+ export interface Pins {
28
+ face(record: MapRecord): PinFace;
29
+ /** The pin's name for assistive technology: the record's title, and what the pin says. */
30
+ name(record: MapRecord): string;
31
+ /** The fields the pins read, to ask for with the records. */
32
+ readonly fields: string[];
33
+ }
34
+ export interface PinsOptions {
35
+ document: Document;
36
+ page: Page;
37
+ locale: Locale;
38
+ pin: Pin;
39
+ /** The field that names a record: the card's title, or the list's first column. */
40
+ title: string;
41
+ icons?: IconSet;
42
+ drawers?: Record<string, PinDrawer>;
43
+ }
44
+ export declare function makePins(options: PinsOptions): Pins;
45
+ /** The comma between a name's parts, in the page's language. */
46
+ export declare const comma: (locale: Locale) => ", " | "، ";
47
+ /** A field, and the field its amount's currency is in. */
48
+ export declare function withCurrency(page: Page, name: string): string[];
49
+ /** A value as a person reads it in full: a card's line, a pin's name. */
50
+ export declare function shown(page: Page, name: string, values: Values, locale: Locale): string;
51
+ /**
52
+ * What a pin says, short enough for a pin: an amount or a number in the
53
+ * page's language, compact ("E£9.5M", "12K", "4.6"); anything else as a
54
+ * card would show it.
55
+ */
56
+ export declare function pinText(page: Page, name: string, values: Values, locale: Locale): string;
57
+ /** An image field's picture as an address: its first file's data, or where it is kept. */
58
+ export declare function imageSource(value: Value | undefined): string;