@mattilsynet/design 2.2.24 → 2.2.25

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 (183) hide show
  1. package/mtds/alert/alert.js +9 -8
  2. package/mtds/alert/alert.js.map +1 -1
  3. package/mtds/analytics/analytics.d.ts +1 -1
  4. package/mtds/analytics/analytics.js +163 -101
  5. package/mtds/analytics/analytics.js.map +1 -1
  6. package/mtds/app/app-observer.js +73 -27
  7. package/mtds/app/app-observer.js.map +1 -1
  8. package/mtds/app/app-toggle.js +2 -24
  9. package/mtds/app/app-toggle.js.map +1 -1
  10. package/mtds/app/app-toggle2.js +16 -10
  11. package/mtds/app/app-toggle2.js.map +1 -1
  12. package/mtds/app/app.d.ts +5 -5
  13. package/mtds/app/app.js +36 -32
  14. package/mtds/app/app.js.map +1 -1
  15. package/mtds/atlas/atlas-element.d.ts +8 -14
  16. package/mtds/atlas/atlas-element.js +90 -76
  17. package/mtds/atlas/atlas-element.js.map +1 -1
  18. package/mtds/atlas/atlas-marker.d.ts +20 -0
  19. package/mtds/atlas/atlas-marker.js +69 -0
  20. package/mtds/atlas/atlas-marker.js.map +1 -0
  21. package/mtds/atlas/atlas-matgeo.d.ts +29 -0
  22. package/mtds/atlas/atlas-matgeo.js +71 -0
  23. package/mtds/atlas/atlas-matgeo.js.map +1 -0
  24. package/mtds/atlas/atlas.css.js +76 -96
  25. package/mtds/atlas/atlas.css.js.map +1 -1
  26. package/mtds/atlas/atlas.d.ts +42 -0
  27. package/mtds/atlas/atlas.js +33 -0
  28. package/mtds/atlas/atlas.js.map +1 -0
  29. package/mtds/atlas/atlas.stories.d.ts +5 -1
  30. package/mtds/atlas/cluster.js +1576 -697
  31. package/mtds/atlas/cluster.js.map +1 -1
  32. package/mtds/atlas.iife.js +80 -100
  33. package/mtds/atlas.js +8 -4
  34. package/mtds/atlas.js.map +1 -1
  35. package/mtds/avatar/avatar.js +8 -8
  36. package/mtds/avatar/avatar.js.map +1 -1
  37. package/mtds/badge/badge.d.ts +2 -2
  38. package/mtds/badge/badge.js +7 -7
  39. package/mtds/badge/badge.js.map +1 -1
  40. package/mtds/breadcrumbs/breadcrumbs-observer.js +10 -9
  41. package/mtds/breadcrumbs/breadcrumbs-observer.js.map +1 -1
  42. package/mtds/breadcrumbs/breadcrumbs.js +14 -13
  43. package/mtds/breadcrumbs/breadcrumbs.js.map +1 -1
  44. package/mtds/button/button.js +16 -14
  45. package/mtds/button/button.js.map +1 -1
  46. package/mtds/card/card.js +14 -12
  47. package/mtds/card/card.js.map +1 -1
  48. package/mtds/chart/chart-axis.js +27 -15
  49. package/mtds/chart/chart-axis.js.map +1 -1
  50. package/mtds/chart/chart-bars.js +15 -13
  51. package/mtds/chart/chart-bars.js.map +1 -1
  52. package/mtds/chart/chart-element.d.ts +5 -0
  53. package/mtds/chart/chart-element.js +83 -48
  54. package/mtds/chart/chart-element.js.map +1 -1
  55. package/mtds/chart/chart-lines.js +54 -32
  56. package/mtds/chart/chart-lines.js.map +1 -1
  57. package/mtds/chart/chart-pies.js +34 -14
  58. package/mtds/chart/chart-pies.js.map +1 -1
  59. package/mtds/chart/chart.css.js +2 -2
  60. package/mtds/chart/chart.css.js.map +1 -1
  61. package/mtds/chart/chart.d.ts +3 -4
  62. package/mtds/chart/chart.js +12 -12
  63. package/mtds/chart/chart.js.map +1 -1
  64. package/mtds/chip/chip.js +8 -8
  65. package/mtds/chip/chip.js.map +1 -1
  66. package/mtds/details/details.d.ts +3 -3
  67. package/mtds/details/details.js +14 -12
  68. package/mtds/details/details.js.map +1 -1
  69. package/mtds/dialog/dialog-observer.js +35 -22
  70. package/mtds/dialog/dialog-observer.js.map +1 -1
  71. package/mtds/dialog/dialog.d.ts +2 -2
  72. package/mtds/dialog/dialog.js +12 -12
  73. package/mtds/dialog/dialog.js.map +1 -1
  74. package/mtds/divider/divider.d.ts +2 -2
  75. package/mtds/divider/divider.js +10 -10
  76. package/mtds/divider/divider.js.map +1 -1
  77. package/mtds/errorsummary/errorsummary-observer.js +11 -8
  78. package/mtds/errorsummary/errorsummary-observer.js.map +1 -1
  79. package/mtds/errorsummary/errorsummary.d.ts +1 -1
  80. package/mtds/errorsummary/errorsummary.js +11 -11
  81. package/mtds/errorsummary/errorsummary.js.map +1 -1
  82. package/mtds/external/leaflet/dist/leaflet-src.js +6006 -3098
  83. package/mtds/external/leaflet/dist/leaflet-src.js.map +1 -1
  84. package/mtds/external/leaflet/dist/leaflet.css.js +2 -2
  85. package/mtds/external/leaflet/dist/leaflet.css.js.map +1 -1
  86. package/mtds/field/field-observer.js +114 -62
  87. package/mtds/field/field-observer.js.map +1 -1
  88. package/mtds/field/field.d.ts +6 -6
  89. package/mtds/field/field.js +166 -133
  90. package/mtds/field/field.js.map +1 -1
  91. package/mtds/field/field.stories.d.ts +2 -0
  92. package/mtds/fieldset/fieldset-observer.js +24 -14
  93. package/mtds/fieldset/fieldset-observer.js.map +1 -1
  94. package/mtds/fieldset/fieldset.d.ts +1 -1
  95. package/mtds/fieldset/fieldset.js +11 -11
  96. package/mtds/fieldset/fieldset.js.map +1 -1
  97. package/mtds/fileupload/fileupload.js +9 -8
  98. package/mtds/fileupload/fileupload.js.map +1 -1
  99. package/mtds/helptext/helptext.d.ts +1 -1
  100. package/mtds/helptext/helptext.js +15 -15
  101. package/mtds/helptext/helptext.js.map +1 -1
  102. package/mtds/index.iife.js +9 -9
  103. package/mtds/index.js +26 -24
  104. package/mtds/input/input.d.ts +3 -3
  105. package/mtds/input/input.js +22 -20
  106. package/mtds/input/input.js.map +1 -1
  107. package/mtds/law/law-helper.d.ts +6 -2
  108. package/mtds/law/law-helper.js +145 -63
  109. package/mtds/law/law-helper.js.map +1 -1
  110. package/mtds/law/law.d.ts +6 -2
  111. package/mtds/law/law.js +6 -6
  112. package/mtds/law/law.js.map +1 -1
  113. package/mtds/law/law.stories.d.ts +1 -0
  114. package/mtds/layout/layout.js +13 -10
  115. package/mtds/layout/layout.js.map +1 -1
  116. package/mtds/link/link.js +8 -7
  117. package/mtds/link/link.js.map +1 -1
  118. package/mtds/logo/logo-observer.js +18 -12
  119. package/mtds/logo/logo-observer.js.map +1 -1
  120. package/mtds/logo/logo.js +8 -8
  121. package/mtds/logo/logo.js.map +1 -1
  122. package/mtds/package.json.js +2 -2
  123. package/mtds/pagination/pagination-helper.js +17 -11
  124. package/mtds/pagination/pagination-helper.js.map +1 -1
  125. package/mtds/pagination/pagination.d.ts +1 -1
  126. package/mtds/pagination/pagination.js +30 -30
  127. package/mtds/pagination/pagination.js.map +1 -1
  128. package/mtds/popover/popover-observer.js +37 -28
  129. package/mtds/popover/popover-observer.js.map +1 -1
  130. package/mtds/popover/popover.js +13 -11
  131. package/mtds/popover/popover.js.map +1 -1
  132. package/mtds/progress/progress.d.ts +1 -1
  133. package/mtds/progress/progress.js +8 -8
  134. package/mtds/progress/progress.js.map +1 -1
  135. package/mtds/react-atlas.d.ts +1 -0
  136. package/mtds/react-atlas.js +13 -0
  137. package/mtds/react-atlas.js.map +1 -0
  138. package/mtds/react-types.d.ts +3 -0
  139. package/mtds/react.js +79 -79
  140. package/mtds/skeleton/skeleton.js +8 -8
  141. package/mtds/skeleton/skeleton.js.map +1 -1
  142. package/mtds/spinner/spinner.d.ts +2 -2
  143. package/mtds/spinner/spinner.js +8 -8
  144. package/mtds/spinner/spinner.js.map +1 -1
  145. package/mtds/steps/steps.d.ts +2 -2
  146. package/mtds/steps/steps.js +7 -7
  147. package/mtds/steps/steps.js.map +1 -1
  148. package/mtds/styles.css +4586 -1
  149. package/mtds/styles.module.css.js +167 -112
  150. package/mtds/styles.module.css.js.map +1 -1
  151. package/mtds/table/table-observer.js +22 -19
  152. package/mtds/table/table-observer.js.map +1 -1
  153. package/mtds/table/table.d.ts +4 -4
  154. package/mtds/table/table.js +18 -16
  155. package/mtds/table/table.js.map +1 -1
  156. package/mtds/tabs/tabs.d.ts +4 -4
  157. package/mtds/tabs/tabs.js +25 -21
  158. package/mtds/tabs/tabs.js.map +1 -1
  159. package/mtds/tag/tag.js +8 -8
  160. package/mtds/tag/tag.js.map +1 -1
  161. package/mtds/tailwind.css +24 -6
  162. package/mtds/toast/toast-helper.js +35 -20
  163. package/mtds/toast/toast-helper.js.map +1 -1
  164. package/mtds/toast/toast-observer.js +30 -15
  165. package/mtds/toast/toast-observer.js.map +1 -1
  166. package/mtds/toast/toast.js +45 -37
  167. package/mtds/toast/toast.js.map +1 -1
  168. package/mtds/togglegroup/togglegroup-observer.js +15 -10
  169. package/mtds/togglegroup/togglegroup-observer.js.map +1 -1
  170. package/mtds/togglegroup/togglegroup.d.ts +3 -3
  171. package/mtds/togglegroup/togglegroup.js +20 -18
  172. package/mtds/togglegroup/togglegroup.js.map +1 -1
  173. package/mtds/tooltip/tooltip-observer.js +48 -32
  174. package/mtds/tooltip/tooltip-observer.js.map +1 -1
  175. package/mtds/typography/typography.js +28 -19
  176. package/mtds/typography/typography.js.map +1 -1
  177. package/mtds/utils.d.ts +12 -3
  178. package/mtds/utils.js +133 -81
  179. package/mtds/utils.js.map +1 -1
  180. package/mtds/validation/validation.d.ts +1 -1
  181. package/mtds/validation/validation.js +12 -12
  182. package/mtds/validation/validation.js.map +1 -1
  183. package/package.json +14 -10
@@ -0,0 +1,71 @@
1
+ import L from "../external/leaflet/dist/leaflet-src.js";
2
+ import { isBrowser, defineElement, MTDSElement, debounce, attr } from "../utils.js";
3
+ const MATGEO_EVENTS = "moveend zoomend refresh";
4
+ const MATGEO_URL = "https://matgeoservice-256616427209.europe-north1.run.app/ogc/features/collections";
5
+ if (isBrowser() && !window._matgeoCollections)
6
+ window._matgeoCollections = fetch(MATGEO_URL).then((res) => res.json()).then((d) => d.collections?.map(({ id }) => id));
7
+ class MTDSAtlasMatgeoElement extends MTDSElement {
8
+ atlas;
9
+ geojson;
10
+ static get observedAttributes() {
11
+ return ["data-collection", "popovertarget"];
12
+ }
13
+ constructor() {
14
+ super();
15
+ this.refresh = debounce(this.refresh, 300);
16
+ }
17
+ connectedCallback() {
18
+ queueMicrotask(() => {
19
+ this.atlas = this.closest("mtds-atlas") || void 0;
20
+ this.geojson = new L.GeoJSON(null, {
21
+ style: this.#getStyle(),
22
+ onEachFeature: (_, layer) => layer.on("click", this.handleEvent, this)
23
+ });
24
+ this.geojson.bindPopup(() => `#${attr(this, "popovertarget")}`);
25
+ this.atlas?.map?.on(MATGEO_EVENTS, this.refresh, this);
26
+ this.atlas?.map?.addLayer(this.geojson);
27
+ this.refresh();
28
+ });
29
+ }
30
+ attributeChangedCallback(name) {
31
+ if (name === "popovertarget") this.geojson?.getPopup()?.update();
32
+ if (name === "data-color") this.geojson?.setStyle(this.#getStyle());
33
+ if (name === "data-collection") this.refresh();
34
+ }
35
+ disconnectedCallback() {
36
+ this.atlas?.map?.off(MATGEO_EVENTS, this.refresh, this);
37
+ this.geojson?.unbindPopup().remove();
38
+ this.geojson = this.atlas = void 0;
39
+ }
40
+ refresh(nocache) {
41
+ window._matgeoCollections?.then((collections) => {
42
+ const collection = attr(this, "data-collection") || "";
43
+ const cache = nocache === true ? `&nocache=${Date.now()}` : "";
44
+ const bbox = this.atlas?.map?.getBounds().toBBoxString();
45
+ if (!collections.includes(collection))
46
+ console.warn(
47
+ `mtds-atlas-matgeo: Please set a vaild \x1B[103mdata-collection="${collections.join(" | ")}"\x1B[m`
48
+ );
49
+ else
50
+ fetch(`${MATGEO_URL}/${collection}/items?bbox=${bbox}${cache}`).then((res) => res.json()).then((data) => this.geojson?.clearLayers().addData(data));
51
+ });
52
+ }
53
+ handleEvent(event) {
54
+ event.originalEvent.stopPropagation();
55
+ const detail = { ...event, feature: event.target.feature };
56
+ this.dispatchEvent(new MouseEvent("click", event.originalEvent));
57
+ this.dispatchEvent(
58
+ new CustomEvent("atlasfeatureclick", { detail, bubbles: true })
59
+ );
60
+ }
61
+ #getStyle() {
62
+ return {
63
+ color: `var(--mtds-color-${attr(this, "data-color") || "main"}-base-default)`
64
+ };
65
+ }
66
+ }
67
+ defineElement("mtds-atlas-matgeo", MTDSAtlasMatgeoElement);
68
+ export {
69
+ MTDSAtlasMatgeoElement
70
+ };
71
+ //# sourceMappingURL=atlas-matgeo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atlas-matgeo.js","sources":["../../designsystem/atlas/atlas-matgeo.ts"],"sourcesContent":["import L from \"leaflet\";\nimport {\n\tattr,\n\tdebounce,\n\tdefineElement,\n\tisBrowser,\n\tMTDSElement,\n} from \"../utils\";\nimport type { MTDSAtlasElement } from \"./atlas-element\";\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t\"mtds-atlas-matgeo\": MTDSAtlasMatgeoElement;\n\t}\n\tinterface GlobalEventHandlersEventMap {\n\t\tatlasfeatureclick: CustomEvent<\n\t\t\tOmit<L.LeafletMouseEvent, \"target\"> & {\n\t\t\t\tfeature: L.Polygon[\"feature\"];\n\t\t\t\ttarget: L.Layer;\n\t\t\t}\n\t\t>;\n\t}\n\tinterface Window {\n\t\t_matgeoCollections?: Promise<string[]>;\n\t}\n}\n\n// TODO: Warn if invalid collection, and tell what collections is available\n// TODO: Show loading?\n\nconst MATGEO_EVENTS = \"moveend zoomend refresh\";\nconst MATGEO_URL =\n\t\"https://matgeoservice-256616427209.europe-north1.run.app/ogc/features/collections\";\n\nif (isBrowser() && !window._matgeoCollections)\n\twindow._matgeoCollections = fetch(MATGEO_URL)\n\t\t.then((res) => res.json())\n\t\t.then((d) => d.collections?.map(({ id }: { id: string }) => id));\n\nexport class MTDSAtlasMatgeoElement extends MTDSElement {\n\tatlas?: MTDSAtlasElement;\n\tgeojson?: L.GeoJSON;\n\n\tstatic get observedAttributes() {\n\t\treturn [\"data-collection\", \"popovertarget\"]; // Using ES2015 syntax for backwards compatibility\n\t}\n\tconstructor() {\n\t\tsuper();\n\t\tthis.refresh = debounce(this.refresh, 300); // Debounce to avoid too many requests\n\t}\n\tconnectedCallback() {\n\t\tqueueMicrotask(() => {\n\t\t\tthis.atlas = this.closest<MTDSAtlasElement>(\"mtds-atlas\") || undefined;\n\t\t\tthis.geojson = new L.GeoJSON(null, {\n\t\t\t\tstyle: this.#getStyle(),\n\t\t\t\tonEachFeature: (_, layer) => layer.on(\"click\", this.handleEvent, this),\n\t\t\t});\n\t\t\tthis.geojson.bindPopup(() => `#${attr(this, \"popovertarget\")}`);\n\t\t\tthis.atlas?.map?.on(MATGEO_EVENTS, this.refresh, this);\n\t\t\tthis.atlas?.map?.addLayer(this.geojson);\n\t\t\tthis.refresh();\n\t\t}); // Let the atlas parent initialize first\n\t}\n\tattributeChangedCallback(name?: string) {\n\t\tif (name === \"popovertarget\") this.geojson?.getPopup()?.update();\n\t\tif (name === \"data-color\") this.geojson?.setStyle(this.#getStyle());\n\t\tif (name === \"data-collection\") this.refresh();\n\t}\n\tdisconnectedCallback() {\n\t\tthis.atlas?.map?.off(MATGEO_EVENTS, this.refresh, this);\n\t\tthis.geojson?.unbindPopup().remove();\n\t\tthis.geojson = this.atlas = undefined;\n\t}\n\trefresh(nocache?: boolean | L.LeafletEvent) {\n\t\twindow._matgeoCollections?.then((collections) => {\n\t\t\tconst collection = attr(this, \"data-collection\") || \"\";\n\t\t\tconst cache = nocache === true ? `&nocache=${Date.now()}` : \"\";\n\t\t\tconst bbox = this.atlas?.map?.getBounds().toBBoxString();\n\t\t\tif (!collections.includes(collection))\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`mtds-atlas-matgeo: Please set a vaild \\x1B[103mdata-collection=\"${collections.join(\" | \")}\"\\x1B[m`,\n\t\t\t\t);\n\t\t\telse\n\t\t\t\tfetch(`${MATGEO_URL}/${collection}/items?bbox=${bbox}${cache}`)\n\t\t\t\t\t.then((res) => res.json())\n\t\t\t\t\t.then((data) => this.geojson?.clearLayers().addData(data));\n\t\t});\n\t}\n\thandleEvent(event: L.LeafletMouseEvent) {\n\t\tevent.originalEvent.stopPropagation(); // Prevent clicks from bubbling from ShadowDOM\n\t\tconst detail = { ...event, feature: event.target.feature };\n\t\t// this.atlas?.togglePopup(detail.target, this);\n\t\tthis.dispatchEvent(new MouseEvent(\"click\", event.originalEvent)); // Forward click, but from <mtds-atlas-matgeo> element\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent(\"atlasfeatureclick\", { detail, bubbles: true }),\n\t\t);\n\t}\n\t#getStyle() {\n\t\treturn {\n\t\t\tcolor: `var(--mtds-color-${attr(this, \"data-color\") || \"main\"}-base-default)`,\n\t\t};\n\t}\n}\n\ndefineElement(\"mtds-atlas-matgeo\", MTDSAtlasMatgeoElement);\n"],"names":[],"mappings":";;AA8BA,MAAM,gBAAgB;AACtB,MAAM,aACL;AAED,IAAI,UAAA,KAAe,CAAC,OAAO;AAC1B,SAAO,qBAAqB,MAAM,UAAU,EAC1C,KAAK,CAAC,QAAQ,IAAI,KAAA,CAAM,EACxB,KAAK,CAAC,MAAM,EAAE,aAAa,IAAI,CAAC,EAAE,SAAyB,EAAE,CAAC;AAE1D,MAAM,+BAA+B,YAAY;AAAA,EACvD;AAAA,EACA;AAAA,EAEA,WAAW,qBAAqB;AAC/B,WAAO,CAAC,mBAAmB,eAAe;AAAA,EAC3C;AAAA,EACA,cAAc;AACb,UAAA;AACA,SAAK,UAAU,SAAS,KAAK,SAAS,GAAG;AAAA,EAC1C;AAAA,EACA,oBAAoB;AACnB,mBAAe,MAAM;AACpB,WAAK,QAAQ,KAAK,QAA0B,YAAY,KAAK;AAC7D,WAAK,UAAU,IAAI,EAAE,QAAQ,MAAM;AAAA,QAClC,OAAO,KAAK,UAAA;AAAA,QACZ,eAAe,CAAC,GAAG,UAAU,MAAM,GAAG,SAAS,KAAK,aAAa,IAAI;AAAA,MAAA,CACrE;AACD,WAAK,QAAQ,UAAU,MAAM,IAAI,KAAK,MAAM,eAAe,CAAC,EAAE;AAC9D,WAAK,OAAO,KAAK,GAAG,eAAe,KAAK,SAAS,IAAI;AACrD,WAAK,OAAO,KAAK,SAAS,KAAK,OAAO;AACtC,WAAK,QAAA;AAAA,IACN,CAAC;AAAA,EACF;AAAA,EACA,yBAAyB,MAAe;AACvC,QAAI,SAAS,gBAAiB,MAAK,SAAS,SAAA,GAAY,OAAA;AACxD,QAAI,SAAS,aAAc,MAAK,SAAS,SAAS,KAAK,WAAW;AAClE,QAAI,SAAS,kBAAmB,MAAK,QAAA;AAAA,EACtC;AAAA,EACA,uBAAuB;AACtB,SAAK,OAAO,KAAK,IAAI,eAAe,KAAK,SAAS,IAAI;AACtD,SAAK,SAAS,YAAA,EAAc,OAAA;AAC5B,SAAK,UAAU,KAAK,QAAQ;AAAA,EAC7B;AAAA,EACA,QAAQ,SAAoC;AAC3C,WAAO,oBAAoB,KAAK,CAAC,gBAAgB;AAChD,YAAM,aAAa,KAAK,MAAM,iBAAiB,KAAK;AACpD,YAAM,QAAQ,YAAY,OAAO,YAAY,KAAK,KAAK,KAAK;AAC5D,YAAM,OAAO,KAAK,OAAO,KAAK,UAAA,EAAY,aAAA;AAC1C,UAAI,CAAC,YAAY,SAAS,UAAU;AACnC,gBAAQ;AAAA,UACP,mEAAmE,YAAY,KAAK,KAAK,CAAC;AAAA,QAAA;AAAA;AAG3F,cAAM,GAAG,UAAU,IAAI,UAAU,eAAe,IAAI,GAAG,KAAK,EAAE,EAC5D,KAAK,CAAC,QAAQ,IAAI,KAAA,CAAM,EACxB,KAAK,CAAC,SAAS,KAAK,SAAS,YAAA,EAAc,QAAQ,IAAI,CAAC;AAAA,IAC5D,CAAC;AAAA,EACF;AAAA,EACA,YAAY,OAA4B;AACvC,UAAM,cAAc,gBAAA;AACpB,UAAM,SAAS,EAAE,GAAG,OAAO,SAAS,MAAM,OAAO,QAAA;AAEjD,SAAK,cAAc,IAAI,WAAW,SAAS,MAAM,aAAa,CAAC;AAC/D,SAAK;AAAA,MACJ,IAAI,YAAY,qBAAqB,EAAE,QAAQ,SAAS,MAAM;AAAA,IAAA;AAAA,EAEhE;AAAA,EACA,YAAY;AACX,WAAO;AAAA,MACN,OAAO,oBAAoB,KAAK,MAAM,YAAY,KAAK,MAAM;AAAA,IAAA;AAAA,EAE/D;AACD;AAEA,cAAc,qBAAqB,sBAAsB;"}
@@ -1,142 +1,122 @@
1
- const t = `/* NOTE: Using --mtds- not --mtds- since we're inside shadow dom */
1
+ const css = `/* NOTE: Using --mtds- not --mtds- since we're inside shadow dom */
2
2
  :host {
3
- --mtdsc-atlas-background: #fbfbfb;
4
- --mtdsc-atlas-border: var(--mtds-border-width-default) solid
5
- var(--mtds-color-border-subtle);
3
+ --mtdsc-atlas-border: 1px solid var(--mtds-color-border-subtle);
4
+ --mtdsc-atlas-cluster-border: 1px solid;
5
+ --mtdsc-atlas-marker-background: var(--mtds-color-base-default);
6
+ --mtdsc-atlas-marker-border: 1px solid;
7
+ --mtdsc-atlas-marker-color: var(--mtds-color-base-contrast-default);
8
+ --mtdsc-atlas-marker-inset: 3px;
9
+ --mtdsc-atlas-marker-shadow: rgba(0,0,0,.2);
10
+ --mtdsc-atlas-marker-size: var(--mtds-6);
11
+ --mtdsc-atlas-tile-background: #fbfbfb;
12
+ --mtdsc-atlas-tile-filter: grayscale(1) contrast(0.75) brightness(1.15);
6
13
 
7
14
  border-radius: var(--mtds-border-radius-md);
8
15
  aspect-ratio: 2;
9
16
  overflow: clip;
10
17
  position: relative;
11
18
  }
12
- :host(:not([hidden])) {
13
- display: block;
14
- }
15
- :host([data-cursor="pointer"]) .leaflet-grab {
16
- cursor: pointer;
17
- }
18
- slot {
19
- display: block;
20
- inset: 0;
21
- pointer-events: none; /* Ensure slot does not stop pointer from reaching leaflet */
22
- position: absolute;
23
- z-index: 2;
24
- }
25
- ::slotted(*) {
26
- pointer-events: all; /* But let children of slot stop pointer from reaching leaflet */
27
- }
19
+ :host(:not([hidden])) { display: block }
20
+ :host([data-cursor="pointer"]) .leaflet-grab { cursor: pointer }
28
21
 
29
22
  /* Focus */
30
23
  .leaflet-control-zoom a:focus-visible,
31
- :host:has(.leaflet-container:focus-visible) {
24
+ :host:has(.leaflet-container:focus-visible),
25
+ ::slotted(mtds-atlas-marker:focus-visible) {
32
26
  box-shadow: var(--mtdsc-focus-boxShadow);
33
27
  outline: var(--mtdsc-focus-outline);
34
28
  outline-offset: var(--mtds-border-width-focus);
35
29
  }
36
30
 
37
- /* Map and tiles */
31
+ /* Tiles */
32
+ .leaflet-tile-container { filter: var(--mtdsc-atlas-tile-filter); transition: filter 0.5s }
38
33
  .leaflet-container {
39
- background: var(--mtdsc-atlas-background);
34
+ background: var(--mtdsc-atlas-tile-background);
40
35
  border-radius: inherit;
41
36
  border: var(--mtdsc-atlas-border);
42
37
  box-sizing: border-box;
43
38
  font: inherit;
44
39
  height: 100%;
40
+ margin: 0;
45
41
  outline: 0;
46
42
  position: relative;
47
43
  z-index: 1; /* Ensure <slot> is always on top */
48
44
  }
49
- .leaflet-tile-container {
50
- filter: grayscale(1) contrast(0.75) brightness(1.15);
51
- transition: filter 0.5s;
52
- }
53
45
  :host([data-tiles="color"]) {
54
- --mtdsc-atlas-background: #e5fcfd;
55
- }
56
- :host([data-tiles="color"]) .leaflet-tile-container {
57
- filter: grayscale(0.2);
46
+ --mtdsc-atlas-tile-background: #e5fcfd;
47
+ --mtdsc-atlas-tile-filter: grayscale(0.2);
58
48
  }
59
49
 
60
50
  /* Controls */
61
- .leaflet-control-attribution {
62
- font-size: 12px;
63
- border-top-left-radius: var(--mtds-border-radius-md);
64
- }
65
- .leaflet-control-zoom {
66
- border-radius: var(--mtds-border-radius-md);
67
- border: 1px solid var(--mtds-color-border-default);
68
- }
69
- .leaflet-control-zoom a {
70
- border-color: inherit;
71
- background: var(--mtds-color-surface-default);
72
- color: var(--mtds-color-text-default);
73
- display: flex;
74
- height: var(--mtds-10);
75
- outline: 0;
76
- place-content: center;
77
- place-items: center;
78
- transition: 0.2s;
79
- width: var(--mtds-10);
80
- }
81
- .leaflet-control-zoom a:first-child {
82
- border-top-left-radius: inherit;
83
- border-top-right-radius: inherit;
84
- }
85
- .leaflet-control-zoom a:last-child {
86
- border-bottom-left-radius: inherit;
87
- border-bottom-right-radius: inherit;
88
- }
89
- .leaflet-control-zoom a:hover {
90
- background: var(--mtds-color-surface-hover);
91
- }
92
- .leaflet-control-zoom a:active {
93
- background: var(--mtds-color-surface-active);
94
- }
51
+ .leaflet-control-attribution { font-size: 12px; border-top-left-radius: var(--mtds-border-radius-md) }
52
+ .leaflet-control-zoom { border-radius: var(--mtds-border-radius-md); border: 1px solid var(--mtds-color-border-default) }
53
+ .leaflet-control-zoom a { background: var(--mtds-color-surface-default); border-color: inherit; color: var(--mtds-color-text-default); height: var(--mtds-10); line-height: var(--mtds-10); transition: 0.2s; width: var(--mtds-10) }
54
+ .leaflet-control-zoom a:first-child { border-top-left-radius: inherit; border-top-right-radius: inherit }
55
+ .leaflet-control-zoom a:last-child { border-bottom-left-radius: inherit; border-bottom-right-radius: inherit }
56
+ .leaflet-control-zoom a:hover { background: var(--mtds-color-surface-hover) }
57
+ .leaflet-control-zoom a:active { background: var(--mtds-color-surface-active) }
95
58
 
96
59
  /* Markers */
97
- .leaflet-tooltip {
98
- background: var(--mtds-color-surface-default);
99
- border-radius: var(--mtds-border-radius-md);
100
- box-shadow: var(--mtds-box-shadow-sm);
101
- color: var(--mtds-color-text-default);
102
- padding: var(--mtds-1) var(--mtds-2);
103
- }
104
- .leaflet-marker-icon {
105
- background: none;
106
- border: 0;
107
- }
108
- .leaflet-marker-icon rect {
109
- fill: var(--mtds-color-base-contrast-default);
110
- }
111
- .leaflet-marker-icon path {
112
- fill: var(--mtds-color-base-default);
113
- stroke: var(--mtds-color-base-contrast-default);
114
- vector-effect: non-scaling-stroke;
60
+ ::slotted(mtds-atlas-marker) {
61
+ all: unset;
62
+ color: var(--mtdsc-atlas-marker-color);
63
+ background: var(--mtdsc-atlas-marker-background);
64
+ border-radius: 100%;
65
+ box-sizing: border-box;
66
+ cursor: pointer;
67
+ display: grid;
68
+ place-items: center;
69
+ place-content: center;
70
+ font-size: var(--mtds-body-sm-font-size);
71
+ font-weight: var(--mtds-font-weight-bold);
72
+ height: var(--mtdsc-atlas-marker-size);
73
+ /* biome-ignore lint/complexity/noImportantStyles: Overwrite Tailwind */
74
+ margin-bottom: calc(var(--mtdsc-atlas-marker-size) * .25 + var(--mtdsc-atlas-marker-inset))!important;
75
+ width: var(--mtdsc-atlas-marker-size);
76
+ }
77
+ ::slotted(mtds-atlas-marker[data-color]) {
78
+ --mtdsc-atlas-marker-background: var(--mtds-color-base-default); /* Ensure data-color is respected */
79
+ --mtdsc-atlas-marker-color: var(--mtds-color-base-contrast-default);
80
+ }
81
+ ::slotted(mtds-atlas-marker)::after {
82
+ box-shadow: 2px 2px 2px var(--mtdsc-atlas-marker-shadow);
83
+ aspect-ratio: 1;
84
+ background: var(--mtdsc-atlas-marker-color);
85
+ color: var(--mtdsc-atlas-marker-background);
86
+ border-radius: 50% 50% 0 50%;
87
+ /* biome-ignore lint/complexity/noImportantStyles: Overwrite Tailwind */
88
+ border: var(--mtdsc-atlas-marker-border)!important;
89
+ content: "";
90
+ rotate: 45deg;
91
+ position: absolute;
92
+ inset: calc(var(--mtdsc-atlas-marker-inset) * -1);
93
+ z-index: -1;
115
94
  }
95
+
96
+ .leaflet-marker-icon { background: none; border: 0 }
97
+ .leaflet-marker-icon slot { display: block; position: absolute; left: 0; top: 0; translate: -50% -100% }
116
98
  .leaflet-cluster-icon {
99
+ box-shadow: 0 3px 3px var(--mtdsc-atlas-marker-shadow);
117
100
  background-color: var(--mtds-color-base-default);
118
101
  border-radius: 100%;
119
- border: 1px solid;
102
+ border: var(--mtdsc-atlas-cluster-border);
120
103
  box-sizing: border-box;
104
+ outline: 1px solid var(--mtds-color-base-default);
121
105
  color: var(--mtds-color-base-contrast-default);
122
106
  display: flex;
123
107
  font-size: var(--mtds-body-xs-font-size);
124
- font-weight: 500;
108
+ font-weight: var(--mtds-font-weight-bold);
125
109
  place-content: center;
126
110
  place-items: center;
127
111
  }
128
- /* .leaflet-marker-icon::after {
129
- aspect-ratio: 1;
130
- background: #fff;
131
- border-radius: 50% 50% 0 50%;
132
- border: 1px solid red;
133
- content: "";
134
- inset: 0 0 auto;
135
- position: absolute;
136
- rotate: 45deg;
137
- } */
112
+
113
+ /* Popover */
114
+ .leaflet-popup:has(slot) .leaflet-popup-tip { background: var(--mtds-color-surface-default) }
115
+ .leaflet-popup:has(slot) .leaflet-popup-close-button { display: none } /* Popup closes on clicking marker anyway */
116
+ .leaflet-popup:has(slot) .leaflet-popup-content-wrapper { display: contents } /* No need for styling this element */
117
+ .leaflet-popup:has(slot) .leaflet-popup-content { margin: 0; font: inherit }
138
118
  `;
139
119
  export {
140
- t as default
120
+ css as default
141
121
  };
142
122
  //# sourceMappingURL=atlas.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"atlas.css.js","sources":["../../designsystem/atlas/atlas.css?raw"],"sourcesContent":["export default \"/* NOTE: Using --mtds- not --mtds- since we're inside shadow dom */\\n:host {\\n\\t--mtdsc-atlas-background: #fbfbfb;\\n\\t--mtdsc-atlas-border: var(--mtds-border-width-default) solid\\n\\t\\tvar(--mtds-color-border-subtle);\\n\\n\\tborder-radius: var(--mtds-border-radius-md);\\n\\taspect-ratio: 2;\\n\\toverflow: clip;\\n\\tposition: relative;\\n}\\n:host(:not([hidden])) {\\n\\tdisplay: block;\\n}\\n:host([data-cursor=\\\"pointer\\\"]) .leaflet-grab {\\n\\tcursor: pointer;\\n}\\nslot {\\n\\tdisplay: block;\\n\\tinset: 0;\\n\\tpointer-events: none; /* Ensure slot does not stop pointer from reaching leaflet */\\n\\tposition: absolute;\\n\\tz-index: 2;\\n}\\n::slotted(*) {\\n\\tpointer-events: all; /* But let children of slot stop pointer from reaching leaflet */\\n}\\n\\n/* Focus */\\n.leaflet-control-zoom a:focus-visible,\\n:host:has(.leaflet-container:focus-visible) {\\n\\tbox-shadow: var(--dsc-focus-boxShadow);\\n\\toutline: var(--dsc-focus-outline);\\n\\toutline-offset: var(--mtds-border-width-focus);\\n}\\n\\n/* Map and tiles */\\n.leaflet-container {\\n\\tbackground: var(--mtdsc-atlas-background);\\n\\tborder-radius: inherit;\\n\\tborder: var(--mtdsc-atlas-border);\\n\\tbox-sizing: border-box;\\n\\tfont: inherit;\\n\\theight: 100%;\\n\\toutline: 0;\\n\\tposition: relative;\\n\\tz-index: 1; /* Ensure <slot> is always on top */\\n}\\n.leaflet-tile-container {\\n\\tfilter: grayscale(1) contrast(0.75) brightness(1.15);\\n\\ttransition: filter 0.5s;\\n}\\n:host([data-tiles=\\\"color\\\"]) {\\n\\t--mtdsc-atlas-background: #e5fcfd;\\n}\\n:host([data-tiles=\\\"color\\\"]) .leaflet-tile-container {\\n\\tfilter: grayscale(0.2);\\n}\\n\\n/* Controls */\\n.leaflet-control-attribution {\\n\\tfont-size: 12px;\\n\\tborder-top-left-radius: var(--mtds-border-radius-md);\\n}\\n.leaflet-control-zoom {\\n\\tborder-radius: var(--mtds-border-radius-md);\\n\\tborder: 1px solid var(--mtds-color-border-default);\\n}\\n.leaflet-control-zoom a {\\n\\tborder-color: inherit;\\n\\tbackground: var(--mtds-color-surface-default);\\n\\tcolor: var(--mtds-color-text-default);\\n\\tdisplay: flex;\\n\\theight: var(--mtds-10);\\n\\toutline: 0;\\n\\tplace-content: center;\\n\\tplace-items: center;\\n\\ttransition: 0.2s;\\n\\twidth: var(--mtds-10);\\n}\\n.leaflet-control-zoom a:first-child {\\n\\tborder-top-left-radius: inherit;\\n\\tborder-top-right-radius: inherit;\\n}\\n.leaflet-control-zoom a:last-child {\\n\\tborder-bottom-left-radius: inherit;\\n\\tborder-bottom-right-radius: inherit;\\n}\\n.leaflet-control-zoom a:hover {\\n\\tbackground: var(--mtds-color-surface-hover);\\n}\\n.leaflet-control-zoom a:active {\\n\\tbackground: var(--mtds-color-surface-active);\\n}\\n\\n/* Markers */\\n.leaflet-tooltip {\\n\\tbackground: var(--mtds-color-surface-default);\\n\\tborder-radius: var(--mtds-border-radius-md);\\n\\tbox-shadow: var(--mtds-box-shadow-sm);\\n\\tcolor: var(--mtds-color-text-default);\\n\\tpadding: var(--mtds-1) var(--mtds-2);\\n}\\n.leaflet-marker-icon {\\n\\tbackground: none;\\n\\tborder: 0;\\n}\\n.leaflet-marker-icon rect {\\n\\tfill: var(--mtds-color-base-contrast-default);\\n}\\n.leaflet-marker-icon path {\\n\\tfill: var(--mtds-color-base-default);\\n\\tstroke: var(--mtds-color-base-contrast-default);\\n\\tvector-effect: non-scaling-stroke;\\n}\\n.leaflet-cluster-icon {\\n\\tbackground-color: var(--mtds-color-base-default);\\n\\tborder-radius: 100%;\\n\\tborder: 1px solid;\\n\\tbox-sizing: border-box;\\n\\tcolor: var(--mtds-color-base-contrast-default);\\n\\tdisplay: flex;\\n\\tfont-size: var(--mtds-body-xs-font-size);\\n\\tfont-weight: 500;\\n\\tplace-content: center;\\n\\tplace-items: center;\\n}\\n/* .leaflet-marker-icon::after {\\n\\taspect-ratio: 1;\\n\\tbackground: #fff;\\n\\tborder-radius: 50% 50% 0 50%;\\n\\tborder: 1px solid red;\\n\\tcontent: \\\"\\\";\\n\\tinset: 0 0 auto;\\n\\tposition: absolute;\\n\\trotate: 45deg;\\n} */\\n\""],"names":["css"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"atlas.css.js","sources":["../../designsystem/atlas/atlas.css?raw"],"sourcesContent":["export default \"/* NOTE: Using --mtds- not --mtds- since we're inside shadow dom */\\n:host {\\n\\t--mtdsc-atlas-border: 1px solid var(--mtds-color-border-subtle);\\n\\t--mtdsc-atlas-cluster-border: 1px solid;\\n\\t--mtdsc-atlas-marker-background: var(--mtds-color-base-default);\\n\\t--mtdsc-atlas-marker-border: 1px solid;\\n\\t--mtdsc-atlas-marker-color: var(--mtds-color-base-contrast-default);\\n\\t--mtdsc-atlas-marker-inset: 3px;\\n\\t--mtdsc-atlas-marker-shadow: rgba(0,0,0,.2);\\n\\t--mtdsc-atlas-marker-size: var(--mtds-6);\\n\\t--mtdsc-atlas-tile-background: #fbfbfb;\\n\\t--mtdsc-atlas-tile-filter: grayscale(1) contrast(0.75) brightness(1.15);\\n\\n\\tborder-radius: var(--mtds-border-radius-md);\\n\\taspect-ratio: 2;\\n\\toverflow: clip;\\n\\tposition: relative;\\n}\\n:host(:not([hidden])) { display: block }\\n:host([data-cursor=\\\"pointer\\\"]) .leaflet-grab { cursor: pointer }\\n\\n/* Focus */\\n.leaflet-control-zoom a:focus-visible,\\n:host:has(.leaflet-container:focus-visible),\\n::slotted(mtds-atlas-marker:focus-visible) {\\n\\tbox-shadow: var(--mtdsc-focus-boxShadow);\\n\\toutline: var(--mtdsc-focus-outline);\\n\\toutline-offset: var(--mtds-border-width-focus);\\n}\\n\\n/* Tiles */\\n.leaflet-tile-container { filter: var(--mtdsc-atlas-tile-filter); transition: filter 0.5s }\\n.leaflet-container {\\n\\tbackground: var(--mtdsc-atlas-tile-background);\\n\\tborder-radius: inherit;\\n\\tborder: var(--mtdsc-atlas-border);\\n\\tbox-sizing: border-box;\\n\\tfont: inherit;\\n\\theight: 100%;\\n\\tmargin: 0;\\n\\toutline: 0;\\n\\tposition: relative;\\n\\tz-index: 1; /* Ensure <slot> is always on top */\\n}\\n:host([data-tiles=\\\"color\\\"]) {\\n\\t--mtdsc-atlas-tile-background: #e5fcfd;\\n\\t--mtdsc-atlas-tile-filter: grayscale(0.2);\\n}\\n\\n/* Controls */\\n.leaflet-control-attribution { font-size: 12px; border-top-left-radius: var(--mtds-border-radius-md) }\\n.leaflet-control-zoom { border-radius: var(--mtds-border-radius-md); border: 1px solid var(--mtds-color-border-default) }\\n.leaflet-control-zoom a { background: var(--mtds-color-surface-default); border-color: inherit; color: var(--mtds-color-text-default); height: var(--mtds-10); line-height: var(--mtds-10); transition: 0.2s; width: var(--mtds-10) }\\n.leaflet-control-zoom a:first-child { border-top-left-radius: inherit; border-top-right-radius: inherit }\\n.leaflet-control-zoom a:last-child { border-bottom-left-radius: inherit; border-bottom-right-radius: inherit }\\n.leaflet-control-zoom a:hover { background: var(--mtds-color-surface-hover) }\\n.leaflet-control-zoom a:active { background: var(--mtds-color-surface-active) }\\n\\n/* Markers */\\n::slotted(mtds-atlas-marker) {\\n\\tall: unset;\\n\\tcolor: var(--mtdsc-atlas-marker-color);\\n\\tbackground: var(--mtdsc-atlas-marker-background);\\n\\tborder-radius: 100%;\\n\\tbox-sizing: border-box;\\n\\tcursor: pointer;\\n\\tdisplay: grid;\\n\\tplace-items: center;\\n\\tplace-content: center;\\n\\tfont-size: var(--mtds-body-sm-font-size);\\n\\tfont-weight: var(--mtds-font-weight-bold);\\n\\theight: var(--mtdsc-atlas-marker-size);\\n\\t/* biome-ignore lint/complexity/noImportantStyles: Overwrite Tailwind */\\n\\tmargin-bottom: calc(var(--mtdsc-atlas-marker-size) * .25 + var(--mtdsc-atlas-marker-inset))!important;\\n\\twidth: var(--mtdsc-atlas-marker-size);\\n}\\n::slotted(mtds-atlas-marker[data-color]) {\\n\\t--mtdsc-atlas-marker-background: var(--mtds-color-base-default); /* Ensure data-color is respected */\\n\\t--mtdsc-atlas-marker-color: var(--mtds-color-base-contrast-default);\\n}\\n::slotted(mtds-atlas-marker)::after {\\n\\tbox-shadow: 2px 2px 2px var(--mtdsc-atlas-marker-shadow);\\n\\taspect-ratio: 1;\\n\\tbackground: var(--mtdsc-atlas-marker-color);\\n\\tcolor: var(--mtdsc-atlas-marker-background);\\n\\tborder-radius: 50% 50% 0 50%;\\n\\t/* biome-ignore lint/complexity/noImportantStyles: Overwrite Tailwind */\\n\\tborder: var(--mtdsc-atlas-marker-border)!important;\\n\\tcontent: \\\"\\\";\\n\\trotate: 45deg;\\n\\tposition: absolute;\\n\\tinset: calc(var(--mtdsc-atlas-marker-inset) * -1);\\n\\tz-index: -1;\\n}\\n\\n.leaflet-marker-icon { background: none; border: 0 }\\n.leaflet-marker-icon slot { display: block; position: absolute; left: 0; top: 0; translate: -50% -100% }\\n.leaflet-cluster-icon {\\n\\tbox-shadow: 0 3px 3px var(--mtdsc-atlas-marker-shadow);\\n\\tbackground-color: var(--mtds-color-base-default);\\n\\tborder-radius: 100%;\\n\\tborder: var(--mtdsc-atlas-cluster-border);\\n\\tbox-sizing: border-box;\\n\\toutline: 1px solid var(--mtds-color-base-default);\\n\\tcolor: var(--mtds-color-base-contrast-default);\\n\\tdisplay: flex;\\n\\tfont-size: var(--mtds-body-xs-font-size);\\n\\tfont-weight: var(--mtds-font-weight-bold);\\n\\tplace-content: center;\\n\\tplace-items: center;\\n}\\n\\n/* Popover */\\n.leaflet-popup:has(slot) .leaflet-popup-tip { background: var(--mtds-color-surface-default) }\\n.leaflet-popup:has(slot) .leaflet-popup-close-button { display: none } /* Popup closes on clicking marker anyway */\\n.leaflet-popup:has(slot) .leaflet-popup-content-wrapper { display: contents } /* No need for styling this element */\\n.leaflet-popup:has(slot) .leaflet-popup-content { margin: 0; font: inherit }\\n\""],"names":[],"mappings":"AAAA,MAAA,MAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,42 @@
1
+ import { CustomReactElementProps } from '../react-types';
2
+ import { MTDSAtlasElement, MTDSAtlasMarkerElement, MTDSAtlasMatgeoElement } from './atlas-element';
3
+ export * from './atlas-element';
4
+ declare global {
5
+ namespace React.JSX {
6
+ interface IntrinsicElements {
7
+ "mtds-atlas": CustomReactElementProps<MTDSAtlasElement> & {
8
+ "data-cluster"?: number | `${number}` | boolean | "true" | "false";
9
+ "data-scrollzoom"?: boolean | "true" | "false";
10
+ "data-tiles"?: "color" | "gray";
11
+ "data-view"?: string | number[];
12
+ };
13
+ "mtds-atlas-marker": CustomReactElementProps<MTDSAtlasMarkerElement> & {
14
+ "data-latlng": string;
15
+ };
16
+ "mtds-atlas-matgeo": CustomReactElementProps<MTDSAtlasMatgeoElement> & {
17
+ "data-collection": string;
18
+ onatlasfeatureclick?: (event: GlobalEventHandlersEventMap["atlasfeatureclick"]) => void;
19
+ };
20
+ }
21
+ }
22
+ }
23
+ export type AtlasProps = React.JSX.IntrinsicElements["mtds-atlas"];
24
+ export type AtlasMarkerProps = React.JSX.IntrinsicElements["mtds-atlas-marker"];
25
+ export type AtlasMatgeoProps = React.JSX.IntrinsicElements["mtds-atlas-matgeo"] & {
26
+ onFeatureClick?: React.JSX.IntrinsicElements["mtds-atlas-matgeo"]["onatlasfeatureclick"];
27
+ };
28
+ export declare const Atlas: import('react').ForwardRefExoticComponent<Omit<{
29
+ class?: string;
30
+ } & import('react').ClassAttributes<MTDSAtlasElement> & import('react').HTMLAttributes<MTDSAtlasElement> & {
31
+ "data-cluster"?: number | `${number}` | boolean | "true" | "false";
32
+ "data-scrollzoom"?: boolean | "true" | "false";
33
+ "data-tiles"?: "color" | "gray";
34
+ "data-view"?: string | number[];
35
+ }, "ref"> & import('react').RefAttributes<MTDSAtlasElement>> & {
36
+ Marker: import('react').ForwardRefExoticComponent<Omit<{
37
+ class?: string;
38
+ } & import('react').ClassAttributes<MTDSAtlasMarkerElement> & import('react').HTMLAttributes<MTDSAtlasMarkerElement> & {
39
+ "data-latlng": string;
40
+ }, "ref"> & import('react').RefAttributes<MTDSAtlasMarkerElement>>;
41
+ Matgeo: import('react').ForwardRefExoticComponent<Omit<AtlasMatgeoProps, "ref"> & import('react').RefAttributes<MTDSAtlasMatgeoElement>>;
42
+ };
@@ -0,0 +1,33 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { toCustomElementProps } from "../utils.js";
4
+ import { MTDSAtlasElement } from "./atlas-element.js";
5
+ const AtlasComp = forwardRef(
6
+ function Atlas2(props, ref) {
7
+ return /* @__PURE__ */ jsx("mtds-atlas", { ref, ...toCustomElementProps(props) });
8
+ }
9
+ );
10
+ const Atlas = Object.assign(AtlasComp, {
11
+ Marker: forwardRef(
12
+ function AtlasMarker(props, ref) {
13
+ return /* @__PURE__ */ jsx("mtds-atlas-marker", { ref, ...toCustomElementProps(props) });
14
+ }
15
+ ),
16
+ Matgeo: forwardRef(
17
+ function AtlasMatgeo({ onFeatureClick, ...rest }, ref) {
18
+ return /* @__PURE__ */ jsx(
19
+ "mtds-atlas-matgeo",
20
+ {
21
+ ref,
22
+ onatlasfeatureclick: onFeatureClick,
23
+ ...toCustomElementProps(rest)
24
+ }
25
+ );
26
+ }
27
+ )
28
+ });
29
+ export {
30
+ Atlas,
31
+ MTDSAtlasElement
32
+ };
33
+ //# sourceMappingURL=atlas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atlas.js","sources":["../../designsystem/atlas/atlas.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { CustomReactElementProps } from \"../react-types\";\nimport { toCustomElementProps } from \"../utils\";\nimport type {\n\tMTDSAtlasElement,\n\tMTDSAtlasMarkerElement,\n\tMTDSAtlasMatgeoElement,\n} from \"./atlas-element\";\n\nexport * from \"./atlas-element\"; // Expose { L } for Leaflet import\n\ndeclare global {\n\tnamespace React.JSX {\n\t\tinterface IntrinsicElements {\n\t\t\t\"mtds-atlas\": CustomReactElementProps<MTDSAtlasElement> & {\n\t\t\t\t\"data-cluster\"?: number | `${number}` | boolean | \"true\" | \"false\";\n\t\t\t\t\"data-scrollzoom\"?: boolean | \"true\" | \"false\";\n\t\t\t\t\"data-tiles\"?: \"color\" | \"gray\";\n\t\t\t\t\"data-view\"?: string | number[];\n\t\t\t};\n\t\t\t\"mtds-atlas-marker\": CustomReactElementProps<MTDSAtlasMarkerElement> & {\n\t\t\t\t\"data-latlng\": string;\n\t\t\t};\n\t\t\t\"mtds-atlas-matgeo\": CustomReactElementProps<MTDSAtlasMatgeoElement> & {\n\t\t\t\t\"data-collection\": string;\n\t\t\t\tonatlasfeatureclick?: (\n\t\t\t\t\tevent: GlobalEventHandlersEventMap[\"atlasfeatureclick\"],\n\t\t\t\t) => void;\n\t\t\t};\n\t\t}\n\t}\n}\n\nexport type AtlasProps = React.JSX.IntrinsicElements[\"mtds-atlas\"];\nexport type AtlasMarkerProps = React.JSX.IntrinsicElements[\"mtds-atlas-marker\"];\nexport type AtlasMatgeoProps =\n\tReact.JSX.IntrinsicElements[\"mtds-atlas-matgeo\"] & {\n\t\tonFeatureClick?: React.JSX.IntrinsicElements[\"mtds-atlas-matgeo\"][\"onatlasfeatureclick\"];\n\t};\n\nconst AtlasComp = forwardRef<MTDSAtlasElement, AtlasProps>(\n\tfunction Atlas(props, ref) {\n\t\treturn <mtds-atlas ref={ref} {...toCustomElementProps(props)} />;\n\t},\n);\n\nexport const Atlas = Object.assign(AtlasComp, {\n\tMarker: forwardRef<MTDSAtlasMarkerElement, AtlasMarkerProps>(\n\t\tfunction AtlasMarker(props, ref) {\n\t\t\treturn <mtds-atlas-marker ref={ref} {...toCustomElementProps(props)} />;\n\t\t},\n\t),\n\tMatgeo: forwardRef<MTDSAtlasMatgeoElement, AtlasMatgeoProps>(\n\t\tfunction AtlasMatgeo({ onFeatureClick, ...rest }, ref) {\n\t\t\treturn (\n\t\t\t\t<mtds-atlas-matgeo\n\t\t\t\t\tref={ref}\n\t\t\t\t\tonatlasfeatureclick={onFeatureClick}\n\t\t\t\t\t{...toCustomElementProps(rest)}\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t),\n});\n"],"names":["Atlas"],"mappings":";;;;AAwCA,MAAM,YAAY;AAAA,EACjB,SAASA,OAAM,OAAO,KAAK;AAC1B,+BAAQ,cAAA,EAAW,KAAW,GAAG,qBAAqB,KAAK,GAAG;AAAA,EAC/D;AACD;AAEO,MAAM,QAAQ,OAAO,OAAO,WAAW;AAAA,EAC7C,QAAQ;AAAA,IACP,SAAS,YAAY,OAAO,KAAK;AAChC,iCAAQ,qBAAA,EAAkB,KAAW,GAAG,qBAAqB,KAAK,GAAG;AAAA,IACtE;AAAA,EAAA;AAAA,EAED,QAAQ;AAAA,IACP,SAAS,YAAY,EAAE,gBAAgB,GAAG,KAAA,GAAQ,KAAK;AACtD,aACC;AAAA,QAAC;AAAA,QAAA;AAAA,UACA;AAAA,UACA,qBAAqB;AAAA,UACpB,GAAG,qBAAqB,IAAI;AAAA,QAAA;AAAA,MAAA;AAAA,IAGhC;AAAA,EAAA;AAEF,CAAC;"}
@@ -8,13 +8,17 @@ declare const meta: {
8
8
  export default meta;
9
9
  type Story = StoryObj<typeof meta>;
10
10
  export declare const Default: Story;
11
+ export declare const React: Story;
11
12
  export declare const WithView: Story;
12
13
  export declare const WithViewAdvanced: Story;
13
14
  export declare const WithColor: Story;
14
15
  export declare const WithCustomSize: Story;
15
16
  export declare const WithMarker: Story;
16
- export declare const WithClickToAddMarker: Story;
17
+ export declare const WithMarkerStyling: Story;
17
18
  export declare const WithClustering: Story;
18
19
  export declare const WithPopover: Story;
20
+ export declare const WithPopoverDynamic: Story;
21
+ export declare const WithMatgeo: Story;
19
22
  export declare const WithTooltip: Story;
23
+ export declare const WithClickToAddMarker: Story;
20
24
  export declare const WithoutScrollZoom: Story;