## Launch Checklist
- Fixes#1524
The problem is that the editor at the end of the layer editor view is
forcing some scrolling due to a different bug that was solved.
- #1492 which was solved in PR: #1501
The previous fix was in oder to solve issues in the code editor which
has all the style in it, and a search-and-replace operation is used to
change the content, so there was a need to introduce the previous fix.
The current solution is to scroll the view only for the code editor
using a react prop, which is `false` by default.
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [ ] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
See maplibre/maputnik#910
As per the issue, test the hostname of the for a localhost URL, by
1. Domain - localhost
2. IPv4 localhost subnet - 127.0.0.1/8
3. IPv6 localhost - [::1]
## Launch Checklist
<!-- Thanks for the PR! Feel free to add or remove items from the
checklist. -->
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: zstadler <zeev.stadler@gmail.com>
Co-authored-by: Harel M <harel.mazor@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
- Fixes#1492
This adds the relevant selection and scroll intoview parameters that
were previously missing as part of the migration to code mirror 6.
It fixes the replace part as described in the bug.
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
While I think tests are needed here, I'm not sure there's an easy way to
actually test this because testing the code mirror editor is hard, and
even harder when there's key pressing (ctrl +F on windows and meta + F
on mac) involved...
## Launch Checklist
This fixes the position of the autocomplete list - CSS fix mostly.
It also changes the loading of the metadata to be using promises instead
of callbacks.
I couldn't reproduce the following issue, so I'll be closing it for now.
- Fixes#945
Before:
<img width="563" height="577" alt="image"
src="https://github.com/user-attachments/assets/6ea264e1-cb85-4a8a-8df5-ab50e7815333"
/>
After:
<img width="563" height="577" alt="image"
src="https://github.com/user-attachments/assets/27fa2901-dd96-44fd-9774-363fd4c5ed98"
/>
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
- Fixes#1302
When a sprite object is used, the current settings modal does not
present it well and does not allow editing.
This changes the input from a string to json.
It does make the editing a bit more cumbersome as you need to type `"`
now instead of just placing the address, but if you click the info
button you should be able to understand that this is a special field.
The fact that it looks like a code editor should also help guide users
to place different input there.
Before:
<img width="710" height="297" alt="image"
src="https://github.com/user-attachments/assets/a615dddd-6c06-45fb-b5a9-1820e6a5c077"
/>
After:
<img width="710" height="297" alt="image"
src="https://github.com/user-attachments/assets/fdb89ada-91ca-4bf4-8380-ce3c25373b41"
/>
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [ ] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This PR adds the ability to look at the entire style and edit it in a
code editor that supports syntax highlight, errors, search and more.
- Resolves#820
CC: @Kanahiro as I know you did something similar, probably has better
performance...
After:
<img width="1920" height="937" alt="image"
src="https://github.com/user-attachments/assets/f925cf92-2623-4390-8f75-14d7f6a79171"
/>
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
## Launch Checklist
- Resolves#891
This PR upgrades code mirror from version 5 to version 6.
It should not change any functionality dramatically.
The filter and other expressions have line numbers now as I was not able
to remove those without introducing a lot of code, which I preferred not
to.
Before:
<img width="571" height="933" alt="image"
src="https://github.com/user-attachments/assets/02f047ee-0857-4eb1-9431-2620099ea025"
/>
After:
<img width="571" height="933" alt="image"
src="https://github.com/user-attachments/assets/7cf60155-7cd9-4c06-915e-dec2ae8247fc"
/>
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This PR adds back the error panel which was under the map for some
reason.
It also highlights problematic layers in the layers list (which already
worked).
It also highlights the field that has an error related to it.
It fixes the error types throughout the code.
Before:
<img width="1141" height="665" alt="image"
src="https://github.com/user-attachments/assets/c0593d6c-8f14-41b3-8a51-bc359446656d"
/>
After:
<img width="1141" height="665" alt="image"
src="https://github.com/user-attachments/assets/1ffeebb7-31ea-4ed5-97f4-fc5f907a6aea"
/>
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This PR fixes the problem with firefox not able to load a file when
clicking the open file button.
It does so by removing a very old dependency: `react-file-reader-input`
It uses the "regular" `<label><a/><input type="file" /><label>`
approach.
It adds tests for both firefox and chrome although I'm not sure the
firefox tests will stay...
- [x] Briefly describe the changes in this PR.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
## Launch Checklist
Add a small drop down to select mercator or globe.
This isn't a fully covered field as one can set an expression there, but
I believe this is good enough for most cases.
Before:
<img width="645" height="254" alt="image"
src="https://github.com/user-attachments/assets/19a7ec50-a0bb-4ea3-b9fc-3abc5572c47e"
/>
After:
<img width="770" height="462" alt="image"
src="https://github.com/user-attachments/assets/f4774020-1cc8-45fe-88f9-f77ad7c53140"
/>
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: Birk Skyum <birk.skyum@pm.me>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This adds the ability to edit the global state.
I think it deserves a modal of its own since I don't think it should be
part of other modals...
Here are some images:
<img width="1274" height="254" alt="image"
src="https://github.com/user-attachments/assets/4b6f2564-6c71-47da-9f8c-3bd2b97e1163"
/>
Initial dialog with no variable:
<img width="640" height="254" alt="image"
src="https://github.com/user-attachments/assets/b813b540-cae9-4c80-b2c0-4d965c022cb8"
/>
After you click add a few times:
<img width="640" height="254" alt="image"
src="https://github.com/user-attachments/assets/125cb978-90dc-4047-9694-b0ffc6eaa469"
/>
The state is updated as you change thing in the dialog.
I didn't complicated it to select the type of the variable, but this can
be added later of if there's a requirement to do so, I meant to keep it
simple for now.
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This changes the layers icons a bit in order to make them a bit more
distinct:
After:
<img width="580" height="331" alt="image"
src="https://github.com/user-attachments/assets/f341a64e-0310-40f7-8f5a-650d7bb06b9f"
/>
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: Frank Elsinga <frank@elsinga.de>
## Launch Checklist
This removes the `@mdi` (material design icons) package and uses the
icons from `react-icons`.
The icons are not exactly the same, but have the same idea behind them.
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
Main changes can be found below.
Before:
<img width="580" height="780" alt="image"
src="https://github.com/user-attachments/assets/e3d5fc8a-bd59-48fe-bdae-31bb290749c8"
/>
After:
<img width="580" height="780" alt="image"
src="https://github.com/user-attachments/assets/bacdbdba-9e73-4bef-bd30-26fe946269c1"
/>
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This fixes an issue with missing info in the spec field due to using the
redacted spec (the one without the docs).
Before - missing button near color when hovering
<img width="397" height="202" alt="image"
src="https://github.com/user-attachments/assets/6f261407-5348-4a71-a6d8-afaff5b27e03"
/>
After:
<img width="397" height="202" alt="image"
src="https://github.com/user-attachments/assets/d2de1b2d-d4cf-4394-b995-e50b957da72c"
/>
I think I already solved this in the past, too bad I didn't add the
relevant tests back then...
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
## Launch Checklist
When clicking the map to create a popup and then clicking on the map
again without closing the popup something breaks in react.
This PR fixes it.
Steps to reproduce:
1. Click on the map
2. Click on the map but not on the popup
The following malformed popup appears:
Before:
<img width="610" height="626" alt="image"
src="https://github.com/user-attachments/assets/99cbdf9a-0b3c-436d-ab13-f219ee3c6e75"
/>
After - popup looks good.
<img width="610" height="626" alt="image"
src="https://github.com/user-attachments/assets/6b379c0d-cbbf-40ed-916d-3cc10eaf4410"
/>
I couldn't make cypress reproduce the exact scenario, but I added some
basic tests for popups.
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
I've created a folder for modals and moved them all inside.
I removed the icons which were small files with no real benefit and
moved the icons to where they were used.
I fixed an issue with the close button position in modal.
I've added missing translation to "Links" in debug modal.
Before:
<img width="610" height="81" alt="image"
src="https://github.com/user-attachments/assets/dd7520f6-9634-4ff1-a83d-99ceae7c9144"
/>
After:
<img width="610" height="81" alt="image"
src="https://github.com/user-attachments/assets/fe3a2ccf-6c09-42ab-bf6f-dd30d3c68e13"
/>
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [ ] Add an entry to `CHANGELOG.md` under the `## main` section.
## Launch Checklist
This updates React to 19.
It removes the unmaintained `react-icon-base` package and uses icons
from the existing one (also removes the svgs).
It also updates the other packages so that everything should be up to
date.
- [x] Briefly describe the changes in this PR.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
- This fixes the issue of layer selection that was introduced as part of
the migration to dnd-kit #1359
- Fixes#1364
This also adds the relevant test.
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Write tests for all new functionality.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
## Launch Checklist
This PR replace react-sortable-hoc which is unmaintained with dnd-kit
- Resolves#1016
- Replaces the following PR: #1259
I've tested it locally to make sure it does what it should.
I'll see if I can add a test...
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This is in order to reduce warnings in the console for React 19 usage.
This removes the deprecated defaultProp and also move all the store
initialization logic out of the App.tsx file, keeping it a lot more
clean.
It removes the `debug` flag from the supported urls along with the
`localport` and `localhost`, which I'm not sure if and how they were
ever used.
The tests are using the `style` url, so I think it is covered in terms
of tests.
It also improves some typings along the project.
It removes some callbacks from the code and moves to use promises.
## Launch Checklist
- [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [x] Write tests for all new functionality.
- [ ] Add an entry to `CHANGELOG.md` under the `## main` section.
Before:
<img width="1263" height="439" alt="image"
src="https://github.com/user-attachments/assets/1988c4f7-39de-4fd2-b6da-b4736abc0441"
/>
After:
<img width="1263" height="203" alt="image"
src="https://github.com/user-attachments/assets/28079e6d-9de7-40a1-9869-01a0876ca79f"
/>
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Bart Louwers <bart.louwers@gmail.com>
## Summary
- render popups with createRoot
- document the fix in CHANGELOG
## Testing
- `npm run lint`
- `npm run build`
- `apt run xvfb` *(fails: Invalid operation)*
- `xvfb-run -a npm run test` *(fails: command not found)*
------
https://chatgpt.com/codex/tasks/task_e_686915f46ba883319b83639b6b71cc6b
- Add LocationIQ access token field to settings and export modals
- Include LocationIQ Streets style in gallery
- Support automatic token replacement for LocationIQ URLs
- Add LocationIQ tileset configuration
- Include translations for all supported languages
## Launch Checklist
- [x] Briefly describe the changes in this PR.
- [x] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
## Summary
- ensure `onSetFileHandle` keeps the right `this`
- cover export dialog save with regression test
## Testing
- `npm run lint`
- `npm run build`
- `xvfb-run -a npx cypress run --spec cypress/e2e/modals.cy.ts` *(fails:
Failed to execute 'showSaveFilePicker' due to environment issues)*
------
https://chatgpt.com/codex/tasks/task_e_68690228e2cc8331a76abc157e8aadf3
## Launch Checklist
<!-- Thanks for the PR! Feel free to add or remove items from the
checklist. -->
Remove react-autobind dependency
- [x] Briefly describe the changes in this PR.
- [ ] Link to related issues.
- [ ] Include before/after visuals or gifs if this PR includes visual
changes.
- [ ] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
Keeps the repo clean, same as several other of our repos
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Going from e.g. MapTiler to OpenLayers and back will lose the maptlier
key.
This code finds the urls in the style that has "{key}" and insert the
correct API keys
Fixes the error reported here, cc @nyurik
- Fixes
https://github.com/maplibre/maputnik/issues/874#issuecomment-2605896666
Related to:
- https://github.com/maplibre/maputnik/issues/869
## Launch Checklist
<!-- Thanks for the PR! Feel free to add or remove items from the
checklist. -->
- [ ] Briefly describe the changes in this PR.
- [ ] Link to related issues.
- [ ] Include before/after visuals or gifs if this PR includes visual
changes.
- [ ] Write tests for all new functionality.
- [ ] Add an entry to `CHANGELOG.md` under the `## main` section.
It's apparently forced now to use the eslint.config.js instead of
.eslintrc
It got more strict with requiring the underscore on unused vars like
`catch(_err)` , but that was all
Closes#1012Closes#995Closes#992
## Launch Checklist
<!-- Thanks for the PR! Feel free to add or remove items from the
checklist. -->
- [ ] Briefly describe the changes in this PR.
- [ ] Link to related issues.
- [ ] Include before/after visuals or gifs if this PR includes visual
changes.
- [ ] Write tests for all new functionality.
- [ ] Add an entry to `CHANGELOG.md` under the `## main` section.
Closes#996
## Launch Checklist
<!-- Thanks for the PR! Feel free to add or remove items from the
checklist. -->
- [ ] Briefly describe the changes in this PR.
- [ ] Link to related issues.
- [ ] Include before/after visuals or gifs if this PR includes visual
changes.
- [ ] Write tests for all new functionality.
- [ ] Add an entry to `CHANGELOG.md` under the `## main` section.
Bumps
[eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh)
from 0.4.6 to 0.4.18.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases">eslint-plugin-react-refresh's
releases</a>.</em></p>
<blockquote>
<h2>v0.4.18</h2>
<p>ESM/CJS interop is the worse that happened to this ecosystem, this is
all I have to say.</p>
<h2>v0.4.17</h2>
<ul>
<li>Fix detection of local components to not generate warning on for
variable inside JSX files that follow React component naming (fixes <a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/75">#75</a>)</li>
<li>Update types to not require extra unnecessary <code>.default</code>
property access under TS node16 module resolution (fixes <a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/70">#70</a>)</li>
</ul>
<h2>v0.4.16</h2>
<p>Fix CJS/ESM interop issue. Sorry everyone for the trouble.</p>
<h2>v0.4.15</h2>
<h3>Add support for custom HOCs (<a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/60">#60</a>)</h3>
<p>By default, the rule only knows that <code>memo</code> &
<code>forwardRef</code> function calls with return a React component.
With this option, you can also allow extra function names like Mobx
observer to make this code valid:</p>
<pre lang="tsx"><code>const Foo = () => <></>;
export default observer(Foo);
</code></pre>
<pre lang="json"><code>{
"react-refresh/only-export-components": [
"error",
{ "customHOCs": ["observer"] }
]
}
</code></pre>
<p>Thanks <a
href="https://github.com/HorusGoul"><code>@HorusGoul</code></a>!</p>
<h3>Add recommended config and simple types (<a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/67">#67</a>)</h3>
<p>You can now add the recommended config to your ESLint config like
this:</p>
<pre lang="js"><code>import reactRefresh from
"eslint-plugin-react-refresh";
<p>export default [
/* Main config */
reactRefresh.configs.recommended, // Or reactRefresh.configs.vite for
Vite users
];
</code></pre></p>
<p>To follow ESLint recommandations, the rule is added with the
<code>error</code> severity.</p>
<p>Some simple types ensure that people typecheking their config won't
need <code>@ts-expect-error</code> anymore.</p>
<h3>Bump ESLint peer dependency to 8.40</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md">eslint-plugin-react-refresh's
changelog</a>.</em></p>
<blockquote>
<h2>0.4.18</h2>
<p>ESM/CJS interop is the worth that happend to this ecosystem, this is
all I have to say.</p>
<h2>0.4.17</h2>
<ul>
<li>Fix detection of local components to not generate warning on for
variable inside JSX files that follow React component naming (fixes <a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/75">#75</a>)</li>
<li>Update types to not require extra unnecessary <code>.default</code>
property access under TS node16 module resolution (fixes <a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/70">#70</a>)</li>
</ul>
<h2>0.4.16</h2>
<p>Fix CJS/ESM interop issue. Sorry everyone for the trouble.</p>
<h2>0.4.15</h2>
<h3>Add support for custom HOCs (<a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/60">#60</a>)</h3>
<p>By default, the rule only knows that <code>memo</code> &
<code>forwardRef</code> function calls with return a React component.
With this option, you can also allow extra function names like Mobx
observer to make this code valid:</p>
<pre lang="tsx"><code>const Foo = () => <></>;
export default observer(Foo);
</code></pre>
<pre lang="json"><code>{
"react-refresh/only-export-components": [
"error",
{ "customHOCs": ["observer"] }
]
}
</code></pre>
<p>Thanks <a
href="https://github.com/HorusGoul"><code>@HorusGoul</code></a>!</p>
<h3>Add recommended config and simple types (<a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/67">#67</a>)</h3>
<p>You can now add the recommended config to your ESLint config like
this:</p>
<pre lang="js"><code>import reactRefresh from
"eslint-plugin-react-refresh";
<p>export default [
/* Main config */
reactRefresh.configs.recommended, // Or reactRefresh.configs.vite for
Vite users
];
</code></pre></p>
<p>To follow ESLint recommandations, the rule is added with the
<code>error</code> severity.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3d6251de43"><code>3d6251d</code></a>
Fix types [publish]</li>
<li><a
href="47f25f07d9"><code>47f25f0</code></a>
Update types to not require extra unnecessary <code>.default</code>
property access unde...</li>
<li><a
href="639e7724f4"><code>639e772</code></a>
Fix detection of local components to not generate warning on for
variable ins...</li>
<li><a
href="d939cc4bd4"><code>d939cc4</code></a>
Fix exports [publish]</li>
<li><a
href="7d1709b065"><code>7d1709b</code></a>
0.4.15 [publish]</li>
<li><a
href="ec747c2a25"><code>ec747c2</code></a>
Add configs and simple types (<a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/67">#67</a>)</li>
<li><a
href="359ae21a40"><code>359ae21</code></a>
Bump ESLint peer dependency (fixes <a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/56">#56</a>)</li>
<li><a
href="86bddb3b9a"><code>86bddb3</code></a>
Add changelog entry & simplify legacy name based only check</li>
<li><a
href="478e7788bd"><code>478e778</code></a>
Add basic support for custom HOCs (<a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/60">#60</a>)</li>
<li><a
href="94c9d7d98c"><code>94c9d7d</code></a>
docs: switch suggested severity from 'warn' to 'error' (<a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/66">#66</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.4.6...v0.4.18">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Harel M <harel.mazor@gmail.com>
## Launch Checklist
<!-- Thanks for the PR! Feel free to add or remove items from the
checklist. -->
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [ ] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
## Description
`showOpenFilePicker` and `showSaveFilePicker` are undefined on Firefox.
With this pr, Maputnik uses the old behavior as a fallback. It keeps the
naming "open" and "save" instead of "upload" and "download" to underline
that the style stays within the browser and no actual upload happens.
@zstadler Could you give it a try, please?
## Related Issue
- fixes https://github.com/maplibre/maputnik/issues/966
## Visual Changes
The "Save as" button gets hidden if `showSaveFilePicker` is not
available since it would have no use.
<table>
<tr>
<td>
Chrome
</td>
<td>
Firefox
</td>
</tr>
<tr>
<td>
<img
src="https://github.com/user-attachments/assets/cdc2cd4d-1c09-4dec-8c94-f8b0dd0c5b8e"
/>
</td>
<td>
<img
src="https://github.com/user-attachments/assets/0763ef63-6501-4cc1-977b-94753c3008ae"
/>
</td>
</tr>
</table>
## Launch Checklist
<!-- Thanks for the PR! Feel free to add or remove items from the
checklist. -->
- [x] Briefly describe the changes in this PR.
- [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [ ] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.
## Changes
- This pull request makes use of the FileSystemFileHandle API to modify
a local file. No need to download it - just click save.
- I don't know how to cover this functionality by tests so I need
directions in case test coverage is required.
- The pull request adds
[@types/wicg-file-system-access](https://www.npmjs.com/package/@types/wicg-file-system-access)
as a new dev dependency which I am not really pleased about but can't
think of a way around it.
## Known Limitations
- The used File API is only available in when accessed from https or on
localhost.
- There is no visual indicator that the file has been saved. Previously
the browser showed it as a new download.
## Issue
- https://github.com/maplibre/maputnik/issues/964
## Screenshots
### Menu
<img
src="https://github.com/user-attachments/assets/dfcfc5c2-0019-4857-ba26-224b5598fc11"
/>
### Open modal
<img
src="https://github.com/user-attachments/assets/4e1293e8-16b6-4b86-925b-3bebb49d8ca6"
height="200px" />
### Save modal
<img
src="https://github.com/user-attachments/assets/4f10e2c0-2dd3-4726-a613-30e0406619b0"
height="200px" />
---------
Co-authored-by: Harel M <harel.mazor@gmail.com>
## Launch Checklist
- [x] Briefly describe the changes in this PR.
* When adding a new Raster or Raster-dem tile source, use `.png` as the
hint for the tile URL hint prompt.
* Currently, the user is prompted for a Vector tile source (e.g.,
`.pbf`)
* If a new Mapnik user already has their XYZ raster Tile URL, then they
may already know how to modify this text field.
* This change may be useful for new users and is intended for them.
* `.png` is a start. It could be `.webp` or `.jpg`, or `.jpg`, or in the
case of Esri there is no extension for the images.
* See [RobLabs.com/xyz](https://RobLabs.com/xyz) for sample XYZ raster
tile URLs
---
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
* Steps to reproduce
* See [RobLabs.com/maputnik](https://roblabs.com/maputnik) for a working
version of this fix for Maputnik
* On top menu bar: *Data Sources* > In the *Add New Source* section >
Change *Source Type* to "Raster (Tile URLs)"
* There you will see prompt hint for a raster Tile instead of vector
tile `.pbf`.
* See the release notes for the National Park Service prototype release
for [Maputnik for National Park Service Park
Tiles](https://github.com/roblabs/maputnik/releases/tag/v2.1.1-nationalparkservice)
for more screen shots.
#### Before
`.pbf` may be confusing for those adding a Raster

#### After

---
- [x] Write tests for all new functionality.
* See screen shots for functionality
- ~~[] Add an entry to `CHANGELOG.md` under the `## main` section.~~
*Not really a feature, so I will leave this out*
- [ ] ~~Link to related issues.~~
## Launch Checklist
<!-- Thanks for the PR! Feel free to add or remove items from the
checklist. -->
- [x] Briefly describe the changes in this PR.
- [ ] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
- [ ] Write tests for all new functionality.
- [x] Add an entry to `CHANGELOG.md` under the `## main` section.

## Launch Checklist
This adds information about how to translate Maputnik and how to get in
touch with people who have translated in the past.
@keichan34, @jieme, @lhapaipai - I need your approval for this so that
people in the future will know to contact you in case text is being
added and they need help translating it.
CC: @ianthetechie
I've also changed the word "Language" in the upper part of the screen so
that it won't be translated in case you accidentally switch language,
and you need to switch back.
I've also fixed some RTL issues in the CSS and updated the maplibre
components labels when the language changes.