@fieldia/map 0.19.0 → 0.19.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 (66) hide show
  1. package/README.md +90 -3
  2. package/package.json +4 -4
  3. package/src/lib/address-labels.d.mts +14 -2
  4. package/src/lib/address-labels.d.ts +14 -2
  5. package/src/lib/address-labels.js.map +1 -1
  6. package/src/lib/address-labels.mjs.map +1 -1
  7. package/src/lib/address-line.d.mts +10 -1
  8. package/src/lib/address-line.d.ts +10 -1
  9. package/src/lib/address-line.js +25 -8
  10. package/src/lib/address-line.js.map +1 -1
  11. package/src/lib/address-line.mjs +24 -8
  12. package/src/lib/address-line.mjs.map +1 -1
  13. package/src/lib/address-names.d.mts +38 -0
  14. package/src/lib/address-names.d.ts +38 -0
  15. package/src/lib/address-names.js +240 -0
  16. package/src/lib/address-names.js.map +1 -0
  17. package/src/lib/address-names.mjs +232 -0
  18. package/src/lib/address-names.mjs.map +1 -0
  19. package/src/lib/address-parts.d.mts +128 -10
  20. package/src/lib/address-parts.d.ts +128 -10
  21. package/src/lib/address-parts.js +836 -17
  22. package/src/lib/address-parts.js.map +1 -1
  23. package/src/lib/address-parts.mjs +827 -14
  24. package/src/lib/address-parts.mjs.map +1 -1
  25. package/src/lib/address-search.d.mts +8 -4
  26. package/src/lib/address-search.d.ts +8 -4
  27. package/src/lib/address-search.js +27 -9
  28. package/src/lib/address-search.js.map +1 -1
  29. package/src/lib/address-search.mjs +28 -10
  30. package/src/lib/address-search.mjs.map +1 -1
  31. package/src/lib/address-suggest.d.mts +5 -2
  32. package/src/lib/address-suggest.d.ts +5 -2
  33. package/src/lib/address-suggest.js +161 -28
  34. package/src/lib/address-suggest.js.map +1 -1
  35. package/src/lib/address-suggest.mjs +161 -28
  36. package/src/lib/address-suggest.mjs.map +1 -1
  37. package/src/lib/form-map.js +9 -7
  38. package/src/lib/form-map.js.map +1 -1
  39. package/src/lib/form-map.mjs +10 -8
  40. package/src/lib/form-map.mjs.map +1 -1
  41. package/src/lib/place.js +21 -10
  42. package/src/lib/place.js.map +1 -1
  43. package/src/lib/place.mjs +21 -10
  44. package/src/lib/place.mjs.map +1 -1
  45. package/src/lib/providers.d.mts +6 -0
  46. package/src/lib/providers.d.ts +6 -0
  47. package/src/lib/providers.js +46 -97
  48. package/src/lib/providers.js.map +1 -1
  49. package/src/lib/providers.mjs +46 -97
  50. package/src/lib/providers.mjs.map +1 -1
  51. package/src/lib/route-line.d.mts +9 -0
  52. package/src/lib/route-line.d.ts +9 -0
  53. package/src/lib/route-line.js +13 -0
  54. package/src/lib/route-line.js.map +1 -1
  55. package/src/lib/route-line.mjs +11 -0
  56. package/src/lib/route-line.mjs.map +1 -1
  57. package/src/lib/routes.js +6 -2
  58. package/src/lib/routes.js.map +1 -1
  59. package/src/lib/routes.mjs +6 -2
  60. package/src/lib/routes.mjs.map +1 -1
  61. package/src/lib/search-box.d.mts +15 -3
  62. package/src/lib/search-box.d.ts +15 -3
  63. package/src/lib/search-box.js +118 -34
  64. package/src/lib/search-box.js.map +1 -1
  65. package/src/lib/search-box.mjs +118 -34
  66. package/src/lib/search-box.mjs.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"address-parts.mjs","sourceRoot":"","sources":["../../../../../libs/map/src/lib/address-parts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"address-parts.mjs","sourceRoot":"","sources":["../../../../../libs/map/src/lib/address-parts.ts"],"names":[],"mappings":"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"}
@@ -10,12 +10,16 @@ import type { MapSettings } from './settings.mjs';
10
10
  * Point, or a float field's latitude with `longitudeField` for its
11
11
  * longitude) and its parts into an address field (`partsField`, a
12
12
  * `json.address`: street, city, region, postcode and country, the line under
13
- * the street kept as typed). `countries` (ISO codes) keeps the suggestions to
14
- * those countries; `near` (`{ "lat", "lng" }`) puts those near it first, as
15
- * where the app's maps open does unless it says.
13
+ * the street kept as typed); the box emptied and left, the place and parts a
14
+ * pick wrote go with it. `countries` (ISO codes) keeps the suggestions to
15
+ * those countries; `near` (`{ "lat", "lng" }`, in the page's own country)
16
+ * puts those near it first, as where the app's maps open does unless it
17
+ * says. Addresses come before shops and malls.
16
18
  *
17
19
  * The box is the app's own text box, there at once; the suggestions come
18
20
  * with their code, loaded the first time an address field is shown. With no
19
- * address search to ask, the text box is all there is.
21
+ * address search to ask, the text box is all there is. Its words read in
22
+ * the direction most of them are written in: an address mostly in Arabic
23
+ * that starts with a Latin street still starts at an Arabic page's right.
20
24
  */
21
25
  export declare function addressSearchWidget(settings: MapSettings): WidgetFactory;
@@ -10,12 +10,16 @@ import type { MapSettings } from './settings';
10
10
  * Point, or a float field's latitude with `longitudeField` for its
11
11
  * longitude) and its parts into an address field (`partsField`, a
12
12
  * `json.address`: street, city, region, postcode and country, the line under
13
- * the street kept as typed). `countries` (ISO codes) keeps the suggestions to
14
- * those countries; `near` (`{ "lat", "lng" }`) puts those near it first, as
15
- * where the app's maps open does unless it says.
13
+ * the street kept as typed); the box emptied and left, the place and parts a
14
+ * pick wrote go with it. `countries` (ISO codes) keeps the suggestions to
15
+ * those countries; `near` (`{ "lat", "lng" }`, in the page's own country)
16
+ * puts those near it first, as where the app's maps open does unless it
17
+ * says. Addresses come before shops and malls.
16
18
  *
17
19
  * The box is the app's own text box, there at once; the suggestions come
18
20
  * with their code, loaded the first time an address field is shown. With no
19
- * address search to ask, the text box is all there is.
21
+ * address search to ask, the text box is all there is. Its words read in
22
+ * the direction most of them are written in: an address mostly in Arabic
23
+ * that starts with a Latin street still starts at an Arabic page's right.
20
24
  */
21
25
  export declare function addressSearchWidget(settings: MapSettings): WidgetFactory;
@@ -14,13 +14,17 @@ const search_box_1 = require("./search-box");
14
14
  * Point, or a float field's latitude with `longitudeField` for its
15
15
  * longitude) and its parts into an address field (`partsField`, a
16
16
  * `json.address`: street, city, region, postcode and country, the line under
17
- * the street kept as typed). `countries` (ISO codes) keeps the suggestions to
18
- * those countries; `near` (`{ "lat", "lng" }`) puts those near it first, as
19
- * where the app's maps open does unless it says.
17
+ * the street kept as typed); the box emptied and left, the place and parts a
18
+ * pick wrote go with it. `countries` (ISO codes) keeps the suggestions to
19
+ * those countries; `near` (`{ "lat", "lng" }`, in the page's own country)
20
+ * puts those near it first, as where the app's maps open does unless it
21
+ * says. Addresses come before shops and malls.
20
22
  *
21
23
  * The box is the app's own text box, there at once; the suggestions come
22
24
  * with their code, loaded the first time an address field is shown. With no
23
- * address search to ask, the text box is all there is.
25
+ * address search to ask, the text box is all there is. Its words read in
26
+ * the direction most of them are written in: an address mostly in Arabic
27
+ * that starts with a Latin street still starts at an Arabic page's right.
24
28
  */
25
29
  function addressSearchWidget(settings) {
26
30
  return (context) => {
@@ -32,18 +36,32 @@ function addressSearchWidget(settings) {
32
36
  const element = context.document.createElement('div');
33
37
  element.className = 'fd-address-search';
34
38
  element.append(plain.element);
35
- let stop;
39
+ const align = () => {
40
+ const dir = (0, address_line_1.directionOf)(input.value);
41
+ if (dir)
42
+ input.dir = dir;
43
+ else
44
+ input.removeAttribute('dir');
45
+ };
46
+ input.addEventListener('input', align);
47
+ let shown;
36
48
  // The place search's own combobox and line are handed over, as the page has them already: the suggestions' chunk carries neither.
37
49
  Promise.resolve().then(() => require('./address-suggest')).then(({ suggest }) => {
38
- if (stop === undefined)
39
- stop = suggest({ settings, context, search, element, input, searchBox: search_box_1.searchBox, addressLine: address_line_1.addressLine });
50
+ if (shown === undefined)
51
+ shown = suggest({ settings, context, search, element, input, searchBox: search_box_1.searchBox, addressLine: address_line_1.addressLine });
40
52
  });
41
53
  return {
42
54
  ...plain,
43
55
  element,
56
+ update(state) {
57
+ plain.update(state);
58
+ align();
59
+ // The field says what describes its box; the suggestions' note too, while one is shown.
60
+ shown?.described();
61
+ },
44
62
  destroy() {
45
- stop?.();
46
- stop = null;
63
+ shown?.destroy();
64
+ shown = null;
47
65
  plain.destroy?.();
48
66
  },
49
67
  };
@@ -1 +1 @@
1
- {"version":3,"file":"address-search.js","sourceRoot":"","sources":["../../../../../libs/map/src/lib/address-search.ts"],"names":[],"mappings":";;AAuBA,kDAwBC;AA/CD,8CAAoE;AACpE,iDAA6C;AAC7C,6CAAyC;AAGzC;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,mBAAmB,CAAC,QAAqB;IACvD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,IAAA,sBAAY,EAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3D,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAA4B,CAAC;QACpI,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,CAAC,SAAS,GAAG,mBAAmB,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,IAAqC,CAAC;QAC1C,kIAAkI;QAClI,qCAAO,mBAAmB,GAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YAC/C,IAAI,IAAI,KAAK,SAAS;gBAAE,IAAI,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAT,sBAAS,EAAE,WAAW,EAAX,0BAAW,EAAE,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;QACH,OAAO;YACL,GAAG,KAAK;YACR,OAAO;YACP,OAAO;gBACL,IAAI,EAAE,EAAE,CAAC;gBACT,IAAI,GAAG,IAAI,CAAC;gBACZ,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"address-search.js","sourceRoot":"","sources":["../../../../../libs/map/src/lib/address-search.ts"],"names":[],"mappings":";;AA2BA,kDAoCC;AA/DD,8CAAoE;AACpE,iDAA0D;AAC1D,6CAAyC;AAGzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,mBAAmB,CAAC,QAAqB;IACvD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,IAAA,sBAAY,EAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3D,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAA4B,CAAC;QACpI,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,CAAC,SAAS,GAAG,mBAAmB,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,MAAM,GAAG,GAAG,IAAA,0BAAW,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,GAAG;gBAAE,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;;gBACpB,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC;QACF,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,KAAgF,CAAC;QACrF,kIAAkI;QAClI,qCAAO,mBAAmB,GAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YAC/C,IAAI,KAAK,KAAK,SAAS;gBAAE,KAAK,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAT,sBAAS,EAAE,WAAW,EAAX,0BAAW,EAAE,CAAC,CAAC;QAClH,CAAC,CAAC,CAAC;QACH,OAAO;YACL,GAAG,KAAK;YACR,OAAO;YACP,MAAM,CAAC,KAAK;gBACV,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,EAAE,CAAC;gBACR,wFAAwF;gBACxF,KAAK,EAAE,SAAS,EAAE,CAAC;YACrB,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,OAAO,EAAE,CAAC;gBACjB,KAAK,GAAG,IAAI,CAAC;gBACb,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { createWidget } from '@fieldia/widgets';
2
- import { addressLine } from './address-line.mjs';
2
+ import { addressLine, directionOf } from './address-line.mjs';
3
3
  import { searchBox } from './search-box.mjs';
4
4
  /**
5
5
  * An address typed on one line (`"widget": "address-search"` on a char
@@ -11,13 +11,17 @@ import { searchBox } from './search-box.mjs';
11
11
  * Point, or a float field's latitude with `longitudeField` for its
12
12
  * longitude) and its parts into an address field (`partsField`, a
13
13
  * `json.address`: street, city, region, postcode and country, the line under
14
- * the street kept as typed). `countries` (ISO codes) keeps the suggestions to
15
- * those countries; `near` (`{ "lat", "lng" }`) puts those near it first, as
16
- * where the app's maps open does unless it says.
14
+ * the street kept as typed); the box emptied and left, the place and parts a
15
+ * pick wrote go with it. `countries` (ISO codes) keeps the suggestions to
16
+ * those countries; `near` (`{ "lat", "lng" }`, in the page's own country)
17
+ * puts those near it first, as where the app's maps open does unless it
18
+ * says. Addresses come before shops and malls.
17
19
  *
18
20
  * The box is the app's own text box, there at once; the suggestions come
19
21
  * with their code, loaded the first time an address field is shown. With no
20
- * address search to ask, the text box is all there is.
22
+ * address search to ask, the text box is all there is. Its words read in
23
+ * the direction most of them are written in: an address mostly in Arabic
24
+ * that starts with a Latin street still starts at an Arabic page's right.
21
25
  */
22
26
  export function addressSearchWidget(settings) {
23
27
  return (context) => {
@@ -29,18 +33,32 @@ export function addressSearchWidget(settings) {
29
33
  const element = context.document.createElement('div');
30
34
  element.className = 'fd-address-search';
31
35
  element.append(plain.element);
32
- let stop;
36
+ const align = () => {
37
+ const dir = directionOf(input.value);
38
+ if (dir)
39
+ input.dir = dir;
40
+ else
41
+ input.removeAttribute('dir');
42
+ };
43
+ input.addEventListener('input', align);
44
+ let shown;
33
45
  // The place search's own combobox and line are handed over, as the page has them already: the suggestions' chunk carries neither.
34
46
  import('./address-suggest.mjs').then(({ suggest }) => {
35
- if (stop === undefined)
36
- stop = suggest({ settings, context, search, element, input, searchBox, addressLine });
47
+ if (shown === undefined)
48
+ shown = suggest({ settings, context, search, element, input, searchBox, addressLine });
37
49
  });
38
50
  return {
39
51
  ...plain,
40
52
  element,
53
+ update(state) {
54
+ plain.update(state);
55
+ align();
56
+ // The field says what describes its box; the suggestions' note too, while one is shown.
57
+ shown?.described();
58
+ },
41
59
  destroy() {
42
- stop?.();
43
- stop = null;
60
+ shown?.destroy();
61
+ shown = null;
44
62
  plain.destroy?.();
45
63
  },
46
64
  };
@@ -1 +1 @@
1
- {"version":3,"file":"address-search.mjs","sourceRoot":"","sources":["../../../../../libs/map/src/lib/address-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAqB;IACvD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3D,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAA4B,CAAC;QACpI,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,CAAC,SAAS,GAAG,mBAAmB,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,IAAqC,CAAC;QAC1C,kIAAkI;QAClI,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YAC/C,IAAI,IAAI,KAAK,SAAS;gBAAE,IAAI,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;QACH,OAAO;YACL,GAAG,KAAK;YACR,OAAO;YACP,OAAO;gBACL,IAAI,EAAE,EAAE,CAAC;gBACT,IAAI,GAAG,IAAI,CAAC;gBACZ,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"address-search.mjs","sourceRoot":"","sources":["../../../../../libs/map/src/lib/address-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAqB;IACvD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3D,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAA4B,CAAC;QACpI,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,CAAC,SAAS,GAAG,mBAAmB,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,GAAG;gBAAE,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;;gBACpB,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC;QACF,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,KAAgF,CAAC;QACrF,kIAAkI;QAClI,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YAC/C,IAAI,KAAK,KAAK,SAAS;gBAAE,KAAK,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QAClH,CAAC,CAAC,CAAC;QACH,OAAO;YACL,GAAG,KAAK;YACR,OAAO;YACP,MAAM,CAAC,KAAK;gBACV,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,EAAE,CAAC;gBACR,wFAAwF;gBACxF,KAAK,EAAE,SAAS,EAAE,CAAC;YACrB,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,OAAO,EAAE,CAAC;gBACjB,KAAK,GAAG,IAAI,CAAC;gBACb,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -14,5 +14,8 @@ export interface SuggestOptions {
14
14
  searchBox: typeof searchBox;
15
15
  addressLine: typeof addressLine;
16
16
  }
17
- /** The suggestions on the field's box; what it gives back takes them off. */
18
- export declare function suggest({ settings, context, search, element, input, searchBox, addressLine }: SuggestOptions): () => void;
17
+ /** The suggestions on the field's box: `described` says again what describes the box after the field's own update has, and `destroy` takes them off. */
18
+ export declare function suggest({ settings, context, search, element, input, searchBox, addressLine }: SuggestOptions): {
19
+ described: () => void;
20
+ destroy: () => void;
21
+ };
@@ -14,5 +14,8 @@ export interface SuggestOptions {
14
14
  searchBox: typeof searchBox;
15
15
  addressLine: typeof addressLine;
16
16
  }
17
- /** The suggestions on the field's box; what it gives back takes them off. */
18
- export declare function suggest({ settings, context, search, element, input, searchBox, addressLine }: SuggestOptions): () => void;
17
+ /** The suggestions on the field's box: `described` says again what describes the box after the field's own update has, and `destroy` takes them off. */
18
+ export declare function suggest({ settings, context, search, element, input, searchBox, addressLine }: SuggestOptions): {
19
+ described: () => void;
20
+ destroy: () => void;
21
+ };
@@ -24,19 +24,50 @@ const ADDRESS_CSS = `
24
24
  .fd-address-credit { display: block; padding: 3px 10px 5px; border-top: 1px solid var(--fd-border); font-size: 11px; line-height: 1.4; color: var(--fd-muted); text-align: end; text-decoration: none; }
25
25
  a.fd-address-credit:hover { text-decoration: underline; }
26
26
  .fd-address-credit img { height: 14px; vertical-align: middle; }
27
+ .fd-address-note { margin-top: 4px; font-size: 12.5px; line-height: 1.4; color: var(--fd-error); }
27
28
  `;
29
+ /** Said under the box when the address picked is not found on the map: loaded with the suggestions, not with every page that shows a map. */
30
+ const NOT_PLACED = {
31
+ en: 'Not found on the map: no place was saved for this address.',
32
+ ar: 'لم يُعثر على هذا العنوان على الخريطة، فلم يُحفظ له مكان.',
33
+ fr: 'Introuvable sur la carte : aucun lieu n’a été enregistré pour cette adresse.',
34
+ de: 'Nicht auf der Karte gefunden: Für diese Adresse wurde kein Ort gespeichert.',
35
+ };
36
+ /** Said when the place could not be asked for (the line dropped, the provider down or refusing): it may well be on the map. */
37
+ const LOCATE_FAILED = {
38
+ en: 'The map did not answer, so no place was saved for this address: check the connection, then pick it again.',
39
+ ar: 'لم تُجب الخريطة، فلم يُحفظ مكان لهذا العنوان: تحقّق من الاتصال، ثم اختره مرة أخرى.',
40
+ fr: 'La carte n’a pas répondu, aucun lieu n’a donc été enregistré pour cette adresse : vérifiez la connexion, puis choisissez-la de nouveau.',
41
+ de: 'Die Karte hat nicht geantwortet, daher wurde für diese Adresse kein Ort gespeichert: Prüfen Sie die Verbindung und wählen Sie sie dann erneut.',
42
+ };
43
+ /** Said when only a place near it is found (`precise: false`): its street, district or town, kilometres off perhaps. */
44
+ const PLACED_NEAR = {
45
+ en: 'Placed only near this address: its exact place was not found on the map.',
46
+ ar: 'لم يُعثر على مكان هذا العنوان بالضبط على الخريطة، فوُضع قربه فقط.',
47
+ fr: 'Placé seulement près de cette adresse : son emplacement exact est introuvable sur la carte.',
48
+ de: 'Nur in der Nähe dieser Adresse platziert: Der genaue Ort wurde auf der Karte nicht gefunden.',
49
+ };
28
50
  const round6 = (n) => Math.round(n * 1e6) / 1e6;
51
+ /**
52
+ * Whether a lookup failed for want of an answer, not because the provider
53
+ * found no such place: nothing came back (fetch fails with a TypeError, as
54
+ * on a line dropped), the page is offline, or the provider refused or failed
55
+ * (answers.ts says what it answered: a 503, a 429, a 403); not its 404, a
56
+ * place it does not know.
57
+ */
58
+ const unanswered = (error, offline) => offline || error.name === 'TypeError' || / answered (?!404)\d{3}\b/.test(error.message);
29
59
  const isObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
30
- /** The suggestions on the field's box; what it gives back takes them off. */
60
+ /** The suggestions on the field's box: `described` says again what describes the box after the field's own update has, and `destroy` takes them off. */
31
61
  function suggest({ settings, context, search, element, input, searchBox, addressLine }) {
32
62
  const { form, name, node, id, document: doc } = context;
33
63
  const locale = context.locale ?? 'en';
34
64
  const options = node.options ?? {};
35
- const words = (0, address_labels_1.addressLabels)(locale, settings.labels?.[locale]);
65
+ const words = { notPlaced: NOT_PLACED[locale], placedNear: PLACED_NEAR[locale], locateFailed: LOCATE_FAILED[locale], ...(0, address_labels_1.addressLabels)(locale, settings.labels?.[locale]) };
36
66
  const named = (key) => (typeof options[key] === 'string' ? options[key] : null);
37
67
  const [placeField, longitudeField, partsField] = [named('placeField'), named('longitudeField'), named('partsField')];
38
68
  const listed = options['countries'];
39
- const countries = (Array.isArray(listed) ? listed.map(String) : typeof listed === 'string' ? listed.split(',') : []).map((code) => code.trim().toUpperCase()).filter(Boolean);
69
+ // "UK" as every provider's parts name it, "GB".
70
+ const countries = (Array.isArray(listed) ? listed.map(String) : typeof listed === 'string' ? listed.split(',') : []).map((code) => code.trim().toUpperCase().replace(/^UK$/, 'GB')).filter(Boolean);
40
71
  const near = isObject(options['near']) && (0, geo_1.isLatLng)(options['near']['lat'], options['near']['lng']) ? options['near'] : settings.center;
41
72
  (0, styles_1.installMapStyles)(doc);
42
73
  if (!doc.getElementById('fieldia-address-styles')) {
@@ -59,13 +90,105 @@ function suggest({ settings, context, search, element, input, searchBox, address
59
90
  input.value = text;
60
91
  form.setValue(name, text || null);
61
92
  };
93
+ /** Shown, and said, when the address picked is not found where it is, or only near it: the console is not where a person looks. */
94
+ const note = doc.createElement('div');
95
+ note.className = 'fd-address-note';
96
+ note.id = `${id}-note`;
97
+ note.hidden = true;
98
+ /** Read with the box, beside what describes it already (its help, its error), while it is shown. */
99
+ const described = () => {
100
+ const ids = (input.getAttribute('aria-describedby') ?? '').split(/\s+/).filter((one) => one && one !== note.id);
101
+ if (!note.hidden)
102
+ ids.push(note.id);
103
+ if (ids.length)
104
+ input.setAttribute('aria-describedby', ids.join(' '));
105
+ else
106
+ input.removeAttribute('aria-describedby');
107
+ };
108
+ const tell = (said) => {
109
+ note.hidden = !said;
110
+ note.textContent = said ?? '';
111
+ described();
112
+ if (said)
113
+ status.textContent = said;
114
+ };
62
115
  let picking = 0;
116
+ /** Whether the box has been emptied since the last pick: the words it wrote all taken out, whatever is typed in their place. */
117
+ let emptied = false;
118
+ /** The words that name the address picked (its first line, and the provider's own first piece): while the box still says one, it is that address, edited. */
119
+ let picked = [];
120
+ const plain = (text) => text.toLocaleLowerCase(locale).replace(/\s+/g, ' ').trim();
121
+ const firstPiece = (line) => plain(line.split(/[,،]/)[0] ?? '');
122
+ const typedOver = () => picked.length > 0 && !picked.some((words) => words && plain(input.value).includes(words));
123
+ const typedOn = () => {
124
+ tell(null);
125
+ if (!input.value.trim())
126
+ emptied = true;
127
+ };
128
+ input.addEventListener('input', typedOn);
129
+ const now = () => form.getState().values;
130
+ const inFloats = () => !!placeField && form.page.fields[placeField]?.type === 'float';
131
+ /** The place and the parts as the form holds them, the line a person typed under the street left out: to tell this field's own from one set since. */
132
+ const placeNow = () => JSON.stringify(placeField ? [now()[placeField] ?? null, inFloats() && longitudeField ? (now()[longitudeField] ?? null) : null] : null);
133
+ const partsNow = () => {
134
+ const held = partsField ? now()[partsField] : null;
135
+ return JSON.stringify(isObject(held) ? { ...held, line2: undefined } : (held ?? null));
136
+ };
137
+ /** What the last pick wrote, while the form still holds it as written: a pick that finds no place, or no parts, takes them back (they were another address's), as the box emptied and left does; a place set since by hand (a pin dragged) stays. */
138
+ let wrote = {};
139
+ const setPlace = (at) => {
140
+ if (!placeField)
141
+ return;
142
+ const point = at && { lat: round6(at.lat), lng: round6(at.lng) };
143
+ if (!inFloats())
144
+ form.setValue(placeField, point && (0, geo_1.asJson)((0, geo_1.writePoint)(point)));
145
+ else if (longitudeField) {
146
+ form.setValue(placeField, point && point.lat);
147
+ form.setValue(longitudeField, point && point.lng);
148
+ }
149
+ };
150
+ /** Its parts, the line under the street kept as the person typed it. */
151
+ const setParts = (parts) => {
152
+ if (!partsField)
153
+ return;
154
+ const held = now()[partsField];
155
+ const line2 = isObject(held) && typeof held['line2'] === 'string' ? { line2: held['line2'] } : null;
156
+ form.setValue(partsField, parts || line2 ? { ...parts, ...line2 } : null);
157
+ };
158
+ /** A pick's place and parts written; where it found none, the last pick's taken back, while the form still holds them as that pick wrote them. */
159
+ const writeFound = (at, parts) => {
160
+ const before = wrote;
161
+ wrote = {};
162
+ if (placeField && (at || before.place === placeNow())) {
163
+ setPlace(at);
164
+ if (at)
165
+ wrote.place = placeNow();
166
+ }
167
+ if (partsField && (parts || before.parts === partsNow())) {
168
+ setParts(parts);
169
+ if (parts)
170
+ wrote.parts = partsNow();
171
+ }
172
+ };
173
+ // Emptied and left, or typed over in one go (all of it selected, then typed or pasted): the address picked is no longer the
174
+ // box's, nor its place and parts (a delivery would go to it); words only edited, a flat added or a word taken out, keep them.
175
+ const left = () => {
176
+ if (!emptied && !typedOver())
177
+ return;
178
+ emptied = false;
179
+ picked = [];
180
+ // A pick still finding its place writes nothing now.
181
+ picking++;
182
+ tell(null);
183
+ writeFound(null, undefined);
184
+ };
185
+ input.addEventListener('blur', left);
63
186
  const box = searchBox({
64
187
  document: doc,
65
188
  id,
66
189
  input,
67
190
  labels: words,
68
- search: (request) => search({ ...request, ...(countries.length ? { countries } : {}), ...(partsField ? { parts: true } : {}) }),
191
+ search: (request) => search({ ...request, addresses: true, ...(countries.length ? { countries } : {}), ...(partsField ? { parts: true } : {}) }),
69
192
  asYouType: settings.search ? (settings.searchAsYouType ?? true) : !!settings.provider.searchAsYouType,
70
193
  locale,
71
194
  near: () => near,
@@ -75,33 +198,36 @@ function suggest({ settings, context, search, element, input, searchBox, address
75
198
  // Its whole address at once; its place and parts as soon as they are known (looked up now, for a provider whose suggestions carry none).
76
199
  async pick(place) {
77
200
  const mine = ++picking;
201
+ emptied = false;
202
+ picked = [plain(place.label)];
203
+ tell(null);
78
204
  const whole = addressLine([place.label, place.detail], locale);
79
205
  write(whole);
80
206
  let at = place.lat !== undefined && place.lng !== undefined ? { lat: place.lat, lng: place.lng } : null;
81
207
  let parts = place.parts;
82
208
  if (!at && place.locate && (placeField || (partsField && !parts))) {
83
- const located = await place.locate().catch((error) => ((0, map_core_1.warnOnce)(`Finding the address picked failed: ${error.message}`), null));
84
- if (mine !== picking || !located)
209
+ let failed = false;
210
+ const located = await place.locate().catch((error) => {
211
+ failed = unanswered(error, doc.defaultView?.navigator.onLine === false);
212
+ (0, map_core_1.warnOnce)(`Finding the address picked failed: ${error.message}`);
213
+ return null;
214
+ });
215
+ if (mine !== picking)
85
216
  return;
86
- at = located;
87
- parts = located.parts ?? parts;
88
- // The provider's own way of writing it, unless a person has typed since.
89
- if (located.address && input.value === whole)
90
- write(addressLine([located.address], locale));
91
- }
92
- if (at && placeField) {
93
- if (form.page.fields[placeField]?.type !== 'float')
94
- form.setValue(placeField, (0, geo_1.asJson)((0, geo_1.writePoint)(at)));
95
- else if (longitudeField) {
96
- form.setValue(placeField, round6(at.lat));
97
- form.setValue(longitudeField, round6(at.lng));
217
+ // Not found where it is: no place written, its parts still are; and the person is told, or told the map did not answer (it may well be on it). Only near it: written, and said.
218
+ tell(!located ? (failed ? words.locateFailed : words.notPlaced) : located.precise === false ? words.placedNear : null);
219
+ if (located) {
220
+ at = located;
221
+ parts = located.parts ?? parts;
222
+ // The provider's own way of writing it, unless a person has typed since.
223
+ if (located.address && input.value === whole) {
224
+ write(addressLine([located.address], locale));
225
+ picked.push(firstPiece(located.address));
226
+ }
98
227
  }
99
228
  }
100
- if (parts && partsField) {
101
- const now = form.getState().values[partsField];
102
- const line2 = isObject(now) && typeof now['line2'] === 'string' ? { line2: now['line2'] } : {};
103
- form.setValue(partsField, { ...parts, ...line2 });
104
- }
229
+ // The pick before's place and parts, still as it wrote them, were another address's: they go, though nothing comes in their place.
230
+ writeFound(at, parts);
105
231
  },
106
232
  });
107
233
  // The list with what the provider's terms ask to be said under it: its mark, or its credit.
@@ -130,11 +256,18 @@ function suggest({ settings, context, search, element, input, searchBox, address
130
256
  }
131
257
  // A press on it keeps the box's focus, so the list stays open and a credit's link opens.
132
258
  popup.addEventListener('mousedown', (event) => event.preventDefault());
133
- element.append(popup, status);
134
- return () => {
135
- box.destroy();
136
- popup.remove();
137
- status.remove();
259
+ element.append(popup, note, status);
260
+ return {
261
+ described,
262
+ destroy() {
263
+ box.destroy();
264
+ input.removeEventListener('input', typedOn);
265
+ input.removeEventListener('blur', left);
266
+ tell(null);
267
+ popup.remove();
268
+ note.remove();
269
+ status.remove();
270
+ },
138
271
  };
139
272
  }
140
273
  //# sourceMappingURL=address-suggest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"address-suggest.js","sourceRoot":"","sources":["../../../../../libs/map/src/lib/address-suggest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"address-suggest.js","sourceRoot":"","sources":["../../../../../libs/map/src/lib/address-suggest.ts"],"names":[],"mappings":"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"}