Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

geostyler

geostyler101.7kBSD-2-Clause18.1.2TypeScript support: included

Framework for styling geodata

geo, styler, geostyler

readme

GeoStyler Logo

Test, Coverage & Docs (main) Create & publish versioned documentation Coverage Status License

Code: github Package: npm

Documentation: main / latest / 18.1.1

Examples: Demo application

Developer Guide: Developer Guide

Discord Banner 2

:rocket: GeoStyler Code Sprint 2025

We are happy to announce the next GeoStyler Code Sprint from 02.-06.06.2025 in Switzerland. Be part of it! More infos on https://geostyler.org/.

📆 Monthly meetings

On the first tuesday of every month, there is a video meeting on the GeoStyler Discord at 2pm CET. The meeting is for all contributors, users or other people interested in GeoStyler.

What is this all about?

The GeoStyler is a generic styler for geodata*.

GeoStyler provides a set of UI Components for map styling. Just like a modular building block system all components can be stacked together to create a nice UI for your web applications. To simplify the setup, we also provide some high-level components (based on our building blocks) that already do the work for you. These include among many others Symbolizer Editors, RuleTables and a fully-fledged StyleEditor including filters and scaleDenominators.

Furthermore, GeoStyler allows for the translation between multiple styling formats, i.e. SLD, OpenLayers, QGIS, Mapbox. Since we are following the concept of micro packages, these translators (we call them parsers) can be used as standalone libraries, without the need to include the UI components as a dependency. Just take a look at StyleParser Implementations.

* geodata as a single dataset (layer) not a complete map appearance.

If you are missing any UI components, formats or even have a custom style format, feel free to open a PR. We are happy for any kind of contributions.

To see the GeoStyler in action have a look at the demo application. It demonstrates the GeoStyler UI components as a standalone application.

Every parser works as a standalone library, too. So you can easily translate between style formats.

For example a small SLD to OpenLayers-Style parser (untested code :smile:):

`js static import SLDParser from "geostyler-sld-parser"; import OpenLayersParser from "geostyle-openlayers-parser"; const sldParser = new SLDParser(); const olParser = new OpenLayersParser();

const sldToOL = async (sld) => { const { output: geostylerStyle } = await sldParser.readStyle(someSld); const { output: olStyle } = await olParser.writeStyle(geostylerStyle); return olStyle; };

export default sldToOl;

## <a name="installation"></a>Installation

Run

```bash
npm i geostyler

from within your project directory to add GeoStyler as a dependency. Please be aware of the peerDependencies that come along with GeoStyler.

Components can be used as follows: `js static import {wanted-geostyler-compoment} from 'geostyler';

//... your component code render() { return ( <wanted-geostyler-component foo="" bar={} /> ); }


## <a name="geostyler-ecosystem"></a>GeoStyler - Ecosystem

The GeoStyler ecosystem is spread across multiple packages.

```mermaid
flowchart RL
  classDef parserCls fill:#fffdbc,stroke:#333,stroke-width:2px,color:#333;
  classDef toolCls fill:#c2f2ff,stroke:#333,stroke-width:2px,color:#333;
  classDef styleCls fill:white,stroke:#333,stroke-width:2px,color:#333;
  style convert fill:#EEE,color:#333;
  style editAndDisplay fill:#EEE,color:#333;
  style parser fill:#EEE,color:#333;

  subgraph convert[Conversion]
    cli[GeoStyler CLI]:::toolCls
    rest[GeoStyler Rest]:::toolCls
  end
  subgraph editAndDisplay[Edit and Display]
    ui[GeoStyler UI]:::toolCls
    legend[GeoStyler Legend]:::toolCls
  end
  geostylerStyle[/GeoStyler Style Format/]
  subgraph parser["Parsers"]
    direction LR
    sld([SLD]):::parserCls
    ol([OpenLayers]):::parserCls
    lyrx([Arc GIS]):::parserCls
    mapbox([MapLibre/MapbBox]):::parserCls
    qgis([QGIS]):::parserCls
    mapfile([Mapfile]):::parserCls
  end
  convert <--> geostylerStyle
  editAndDisplay <--> geostylerStyle:::styleCls
  geostylerStyle <--> parser

  click geostylerStyle "https://github.com/geostyler/geostyler-style"
  click sld "https://github.com/geostyler/geostyler-sld-parser"
  click qgis "https://github.com/geostyler/geostyler-qgis-parser"
  click lyrx "https://github.com/geostyler/geostyler-lyrx-parser"
  click ol "https://github.com/geostyler/geostyler-openlayers-parser"
  click mapbox "https://github.com/geostyler/geostyler-mapbox-parser"
  click mapfile "https://github.com/geostyler/geostyler-mapfile-parser"
  click cli "https://github.com/geostyler/geostyler-cli"
  click rest "https://github.com/geostyler/geostyler-rest"
  click legend "https://github.com/geostyler/geostyler-legend"
  click ui "https://github.com/geostyler/geostyler"

GeoStyler UI

The main package of the GeoStyler ecosystem is the UI library. It contains a collection of React components that can be used to build a styling UI for geodata. The main components are the <Style /> or <CardStyle /> component which serve as an entry point. The <Style /> component is a full-featured style editor that allows users to create and edit styles for geodata. The <CardStyle / > component offers a streamlined and compact alternative to the <Style / > component, optimized for utilization within drawer or card layouts. The library also contains lots of subcomponents that can be used for particular parts of the style editing process, such as the Symbolizer <Editor /> or the <RuleTable >.

GeoStyler Style

The UI library is built on top of the geostyler-style. This is the centerpiece of the GeoStyler ecosystem. The geostyler-style package is a TypeScript declaration that defines the GeoStyler style format. The style format is used to represent styles in a generic way that can be converted to and from other style formats. We are not trying to establish just another standard, but we need an exchange format that is flexible and highly compatible with current styling standards.

Parsers

The parsers make use of the geostyler-style package to convert between different style formats. The parsers are separate packages that can be used independently of the UI library. The parsers are used to convert between different style formats, such as SLD, OpenLayers, and Mapbox. Each parser is build on top of an interface defined in the geostyler-style package to make sure that read and write operations are consistent across all parsers.

Conversion tools

To convert between styles without a UI you can make use of conversion tools like the geostyler-cli or the geostyler-rest package. The geostyler-cli package is a command-line interface that uses the parsers so you can convert between different style formats directly from the command line. The geostyler-rest package is a REST API that is built on top of the command-line interface.

Legend

The geostyler-legend is a react component that renders a legend based on a GeoStyler style. Combined with the powers of the parsers this allows to render a legend for a variety of style formats.

TypeScript Declaration Files

DataParser Implementations

StyleParser Implementations

More

Developer Guide

For our guidelines for contributions, please take a look at CONTRIBUTING.md. Head there if you need general advice for first contributing steps (code or documentation).

More detailed information to ensure a great development experience when working on geostyler is summarized in DEVELOPING.md. You'll find hints with regard to developing UI components or guidance when you want to enhance (or create) parsers for style formats or data formats there.

Additionally, please read through our code of conduct.

We look forward to seeing you contribute soon!

License

GeoStyler is released under the BSD 2-Clause license. Please see the file LICENSE in the root of this repository.

Thanks to all contributors ❤

Avatars of contributors of GeoStyler

Funding & financial sponsorship

Maintenance and further development of this code can be funded through the GeoStyler Open Collective. All contributions and expenses can transparently be reviewed by anyone; you see what we use the donated money for. Thank you for any financial support you give the GeoStyler project 💞

changelog

18.1.2 (2025-07-11)

Bug Fixes

  • update browserbuild config (14bda33)
  • use default value also for slider (01348f4)

18.1.1 (2025-07-10)

Bug Fixes

  • add browser build to package (a20c9dd)

18.1.0 (2025-07-10)

Features

  • add option to disable name #2618 (#2623) (89c7c64)
  • i18n: add Polish and Czech translations to GeoStylerLocale (bd8ee1d)

Bug Fixes

  • height renderer in symbolizer editor (f90fd66)

18.0.0 (2025-06-18)

⚠ BREAKING CHANGES

  • This removes <RuleReorderButton> in favour of drag an drop functionality. Also, the signatures of onCloneRule and onRemoveRule of <RuleTable> changed from expecting a RuleRecord to expecting a numeric value. If you are using <RuleTable> explicitly, you have to adjust you callbacks.

Features

  • add a button to open the symbolizer editor #2568 (a0901af)
  • add apply & cancel buttons to modal (042e4f1)
  • add locale strings for Cap and Join + minor updates (3b8bd33)
  • add localized texts and proper labels for sprites (8e49749)
  • add symbol preview in symbolizer editor #2562 (d6ea83e)
  • deps: update eslint (4a1c9bf)
  • deps: update react and vite (7ee8de3)
  • enable drag and drop on rule table (e68fb2e)
  • improve min and max denominator scale (#2600) (7a43ebb)
  • opacity field as slider #2565 (b2387e2)
  • Style: make multi edit optional (b1ed160)

Bug Fixes

  • after review (2eb6abd)
  • build: adds postbuild script to add file extensions (2203792)
  • build: bundle with vite (d91a3fa)
  • default cursor on non clickable renderers (b386d64)
  • deps: update dependency geostyler-data to v1.1.0 (677696c)
  • deps: update dependency monaco-editor to ^0.52.0 (#2520) (4eaf1c5)
  • deps: update dependency typescript-json-schema to ^0.65.0 (#2522) (af5a452)
  • deps: update geostyler dependencies (64a1d2d)
  • deps: update geostyler-cql-parser (a45369b)
  • deps: update geostyler-sld-parser to version 8.1.0 (#2608) (981e957)
  • remove _get() usage (b67c747)
  • remove unused lodash import (76e9c10)
  • use lodash-es imports (cb5603b)

17.0.0 (2025-05-27)

⚠ BREAKING CHANGES

  • GeoStyler now runs with plain CSS, so no additional tooling is needed. Thus, you probably do not have to change anything. But if your application's configuration assumes the existence of .less files, you probably have to adjust these configurations now.

Bug Fixes

  • increase specificity of symbolizercard padding (bcda2f4)
  • replace less with plain css (d51b224)
  • update geostyler dependencies (9651459)

16.0.1 (2025-02-20)

Bug Fixes

  • cleanup ol instance when destroying <OlRenderer> (#2542) (c4fdfb8)

16.0.0 (2025-02-12)

⚠ BREAKING CHANGES

  • removes sevearal default prop declarations
  • removes OperatorComboDefaultProps (now included in OperatorComboProps)
  • removes NameFieldDefaultProps (now included in NameFieldProps)
  • removes RemovableItemDefaultProps (now included in RemovableItemProps)
  • removes SelectableDefaultProps (now included in SelectableProps)
  • removes SelectableItemDefaultProps (now included in SelectableItemProps)
  • removes BulkEditModalsDefaultProps (now included in BulkEditModalsProps)
  • removes ContrastEnhancementFieldDefaultProps (now included in ContrastEnhancementFieldProps)
  • removes GraphicTypeFieldDefaultProps (now included in GraphicTypeFieldProps)
  • removes SourceChannelNameFieldDefaultProps (now included in SourceChannelNameFieldProps)
  • removes GraphicEditorDefaultProps (now included in GraphicEditorProps)
  • This renames the value prop of every editor field to value.
  • prop "brightness" of the BrightnessField is now "value"
  • prop "gamma" of the GammaField is now "value"
  • prop "colorMapEntry" of the ColorMapEntryField is now "value"
  • prop "colorMapType" of the ColorMapTypeField is now "value"
  • prop "contrastEnhancement" of the ContrastEnhancementField is now "value"
  • prop "contrast" of the ContrastField is now "value"
  • prop "extended" of the ExtendedField is now "value"
  • prop "fadeDuration" of the FadeDurationField is now "value"
  • prop "gamma" of the GammaField is now "value"
  • prop "graphicType" of the GraphicTypeField is now "value"
  • prop "channelSelection" of the GrayChannelField is now "value"
  • prop "kind" of the KindField is now "value"
  • prop "dashArray" of the LineDashField is now "value"
  • prop "offset" of the OffsetField is now "value"
  • prop "radius" of the RadiusField is now "value"
  • prop "resampling" of the ResamplingField is now "value"
  • prop "channelSelection" of the RgbChannelField is now "value"
  • prop "rotate" of the RotateField is now "value"
  • prop "saturation" of the SaturationField is now "value"
  • prop "sourceChannelName" of the SourceChannelNameField is now "value"
  • prop "visibility" of the VisibilityField is now "value"
  • prop "wellKnownName" of the WellKnownNameField is now "value"
  • showAmount and showDuplicates are removed from the Rules component. Use context instead.
  • The FontPickers value name changed from font to value

Features

  • add placeholder for renderer with functions (b616e1f)
  • i18n of error messages (d8c191b)
  • improve props composition for FontPicker (ca6ee87)

Bug Fixes

  • prevent PreviewMap from crashing (d59d876)
  • remove unused props (1584500)
  • unify value prop name to value (691cf1d)
  • update default props declaration (c8d52a6)
  • update renderer geometries (fc0708e), closes #2230
  • updates PreviewMap to use spatialreference.org (60d8f46)

15.0.1 (2024-10-11)

Bug Fixes

  • deps: update dependency antd to v5.21.3 (0340bf5)
  • update ColorPicker (f1edbe4)

15.0.0 (2024-07-04)

⚠ BREAKING CHANGES

  • This will include many breaking changes, including the switch to an esm build which may cause different import locations or the need to make configuration changes to your bundler in your downstream project.

Features

  • introduce CaseInput and StepInput (42e905a)
  • prepare the next major release (2efc0fd)
  • update base package versions (794a3f9)

Bug Fixes

15.0.0-beta.5 (2024-07-02)

Bug Fixes

  • fix build with wfs parser update (96dc112)

15.0.0-beta.4 (2024-07-02)

Features

  • introduce CaseInput and StepInput (fbfdf04)

Bug Fixes

15.0.0-beta.3 (2024-06-21)

Bug Fixes

  • keep less files in esm build (b22ea27)

15.0.0-beta.2 (2024-06-21)

Features

  • update base package versions (3dc6760)

15.0.0-beta.1 (2024-06-18)

⚠ BREAKING CHANGES

  • This will include many breaking changes, including the switch to an esm build which may cause different import locations or the need to make configuration changes to your bundler in your downstream project.

Features

  • prepare the next major release (dc35140)

Bug Fixes

  • code editor onchange string to mapbox style (c5dc04e)
  • deps: update dependency geostyler-wfs-parser to v2.0.3 (8283f7b)
  • deps: update dependency typescript-json-schema to ^0.64.0 (9c3b8e8)

14.2.0 (2024-07-04)

Features

  • add upload button to CodeEditor (a46d16b)

14.1.4 (2024-05-28)

Bug Fixes

14.1.3 (2024-05-27)

Bug Fixes

  • add missing functions to FunctionUI (29d8231)
  • deps: update dependency @ant-design/icons to v5.3.7 (f705d92)
  • deps: update dependency @types/lodash to v4.17.4 (1820200)
  • deps: update dependency antd to v5.17.2 (d0ab3b6)
  • deps: update dependency antd to v5.17.4 (5bfe5fa)
  • deps: update dependency monaco-editor to ^0.48.0 (afa76a2)
  • deps: update dependency monaco-editor to ^0.49.0 (e956cd3)
  • deps: update dependency proj4 to v2.11.0 (06bdfbd)
  • deps: update dependency typescript-json-schema to ^0.63.0 (3e3f003)

14.1.2 (2023-12-21)

Bug Fixes

14.1.1 (2023-12-21)

Bug Fixes

14.1.0 (2023-12-04)

Features

  • add disableSprite property (eefedc1)
  • add Sprite support to ImageField (fe90cd3)
  • deps: update geostyler-style and ol-parser (68050f5)

Bug Fixes

  • adapt icon related typing (f52d2b8)
  • add missing i18n for sprite label (5b68e8d)
  • fix border radius for stacked buttons (ece9977)
  • update config and typing (034946d)

14.0.0 (2023-11-24)

⚠ BREAKING CHANGES

  • Following props of <BooleanExpressionInput> changed: label was replaced with labelOn and labelOff. checkboxProps was renamed to switchProps and now accepts the properties of antd <Switch>.

Features

  • add editors visibility fields to composition (#2387) (eaa7882)
  • add LineEditor graphicFill and graphicStroke to composition (#2383) (02a8a20)
  • i18n: update translation for zh_CN (320f349)
  • replace checkbox with switch for boolean fields (#2385) (a654004)

Bug Fixes

  • deps: update dependency @monaco-editor/react to v4.5.2 (#2354) (a50c89a)
  • deps: update dependency monaco-editor to ^0.41.0 (#2343) (49f919f)
  • deps: update dependency typescript-json-schema to ^0.60.0 (#2357) (ec1cfd0)
  • fixes rule generation for 0 values (2b533ef)
  • remove Forms and set vertical layout in BulkEditor (#2388) (4abf02e)
  • visibility of classification button (#2380) (5e2f050)

13.1.1 (2023-08-14)

Bug Fixes

  • deps: update dependency typescript-json-schema to ^0.59.0 (f899617)
  • move thrown error to SLDRenderer (699a86e)

13.1.0 (2023-07-13)

Features

  • add onActiveParserChange to CodeEditor (#2314) (cc646cd)
  • add FunctionUI to ColorField (c7a838b)

Bug Fixes

  • deps: update dependency geostyler-openlayers-parser to v4.2.1 (d597f49)
  • deps: update dependency monaco-editor to ^0.40.0 (ffe268d)
  • deps: update dependency typescript-json-schema to ^0.58.0 (2960294)
  • readd OpenLayers as default rendererType (46c3d5c)
  • set ColorPicker to full width (e601c23)

13.0.1 (2023-06-23)

Bug Fixes

  • add missing GeoStylerContextInterface export (0f8214e)

13.0.0 (2023-06-22)

⚠ BREAKING CHANGES

  • removes the 'data' / 'internalDataDef' prop from several components and removes the Preview component
    • removed all default exports from react components
  • removed many exported *DefaultProps types
  • modifies API of GeoStylerContext.unsupportedProperties
  • removes legacy UnsupportedPropertiesContext
    • removes legacy CompositionContext and CompositionUtil
  • removes the withDefaultsContext and use GeoStylerContext instead
  • removes properties from Style and RuleTable and use GeoStylerContext instead
  • removes legacy DefaultValueContext
  • removes iconEditorProps and iconLibraries from Editor and CardStyle
  • removes iconLibraries and imageFieldProps from IconEditor
  • remove several props from Style and RuleGeneratorWindow and use GeoStylerContext instead
  • removes filterUIProps from FilterEditorWindow and FilterTree
  • enableClassification property in Rules is replaced with disableClassification
  • The 'react-color' colorpicker was replaced with 'ColorPicker' of 'antd'. All react-color specific props were removed and replaced with the props of antd's colorpicker. Also, the prop 'color' was renamed to 'value'.
  • removes the DataProvider

Co-authored-by: Kai Volland volland@terrestris.de

  • changed value property of LineCapField and LineJoinField from cap / join to value
  • This removes the deprecated CompositionContext in favor of the new GeoStylerContext composition from Editor. This also removes the property colorRamps from Editor without replacement. This will be re-added soon.
  • This removes the properties showAmount and showDuplicates from RuleCard. Please use GeoStylerContext.composition.Rule.amount and GeoStylerContext.composition.Rule.duplicate instead.
  • This removes the properties showAmountColumn and showDuplicatesColumn from <RuleTable> and thereby also from <Style>. Please use GeoStylerContext.composition.Rule.amount.visibility and GeoStylerContext.composition.Rule.duplicate.visibility instead.
  • OpacityField, WidthField and SizeField now expect the corresponding value to passed as value instead of opacity, width, size as this conflicted with some properties of the Inputs
  • the javascript file of the browser build is now called geostyler.js.iife.js
  • This removes the defaultValues property from RasterEditor. Please use GeoStylerContext.composition instead.
  • This removes the support for the deprecated CompositionContext in favor of the new GeoStylerContext for the RasterEditor. Please use GeoStylerContext.composition now.
  • Peer dependencies of antd and @ant-design/icons do require versions 5.x
  • This removes the support for the deprecated CompositionContext in favor of the new GeoStylerContext for the TextEditor. This also removes the defaultValues property for the TextEditor. Please use GeoStylerContext.composition instead.
  • This removes the support for the deprecated CompositionContext in favor of the new GeoStylerContext for the WellKnownNameEditor. This also removes the defaultValues property for the WellKnownNameEditor. Please use GeoStylerContext.composition instead.
  • This removes the support for the deprecated CompositionContext in favor of the new GeoStylerContext for the MarkEditor. This also removes the defaultValues property from MarkEditor.
  • This removes the support of the deprecated CompositionContext in favor of the new GeoStylerContext for the LineEditor. This also removes the defaultValue property from LineEditor. Please use GeoStylerContext.composition instead. For now, composition of graphicFill and graphicStroke was changed without replacement. Support will be re-added again in the future.
  • This removes the support of the deprecated CompositionContext in favor of the new GeoStylerContext for the IconEditor. This also removes the defaultValues property from IconEditor. Please use GeoStylerContext.composition instead.
  • This removes the support of the deprecated CompositionContext in favor of the new GeoStylerContext for the FillEditor. This also removes the defaultValues property from FillEditor. Please use GeoStylerContext.composition instead.

Features

  • add 'data' prop to GeoStylerContext (760f557)
  • add Croatian translations (06c5ee2)
  • add SLDRenderer to CompositionContext (1766f40)
  • add support for all EPSG codes to PreviewMap (6df76dd)
  • introduce FunctionUI and ExpressionInputs (697b73a)
  • introduces StringExpressionSelect (32fbbc7)
  • make use of useGeoStylerLocale (2f05973)
  • remove DataProvider (#2210) (15ca661)
  • remove deprecated Rule and compact property (e683b3f)
  • removes legacy UnsupportedPropertiesContext (736f91c)
  • replace react-rnd window like components with antd modals (9333f4b)
  • replace remove symbolizer button with removable tabs (#2152) (34ad73d)
  • update geostyler dependencies (a4ca370)
  • update GeoStylerContext (4b7ba05)
  • Use ExpressionInputs in Symbolizer Fields (#2136) (94f13e6)
  • use GeoStylerContext composition for ColorMapEditor (#2135) (86d7db2)
  • use GeoStylerContext composition for ComparisonFilter (#2141) (4e22016)
  • use GeoStylerContext composition for Editor (#2148) (fb84746)
  • use GeoStylerContext composition for MarkEditor (#2125) (d1bbfd0)
  • use GeoStylerContext composition for RasterChannelEditor (#2134) (e02312e)
  • use GeoStylerContext composition for RasterEditor (#2131) (5039e1d)
  • use GeoStylerContext composition for RuleCard and RuleOverview (#2145) (346ffad)
  • use GeoStylerContext composition for Rules and RuleTable (#2142) (ad98b61)
  • use GeoStylerContext composition for TextEditor (#2130) (1a2e01c)
  • use GeoStylerContext composition for WellKnownNameEditor (#2129) (60e84bb)
  • use GeoStylerContext composition on FillEditor (#2119) (b0e0949)
  • use GeoStylerContext composition on IconEditor (#2121) (8549a2c)
  • use GeoStylerContext composition on LineEditor (#2123) (b05f3db)
  • visibility field (#2155) (7b9c05d)

Bug Fixes

  • add missing typings (c2ec232)
  • add missing whitespace (938e082)
  • add the symbolizer kind to the tab label (dfda25d)
  • add typing (da047eb)
  • antd-update: include reset css (a63a464)
  • antd-update: migrate to antd v5 (451ab9b)
  • change 3 strings in french (6e0aeae)
  • clone symbolizers before parsing (46ed80d)
  • CodeEditor: model only for geostyler-style (1f89c9a)
  • correct the renovate JSON (ee71abd)
  • deps: update dependency @types/lodash to v4.14.195 (594331c)
  • deps: update dependency monaco-editor to ^0.39.0 (30be095)
  • deps: update dependency typescript-json-schema to ^0.57.0 (eadfab7)
  • fix RuleTable example (a3f0053)
  • improve test performance (#2143) (4dd5a8c)
  • remove unused import (81a7257)
  • resolve some ts any warnings (8b99cc5)
  • set role (4f72ecd)
  • update CodeEditor to allow JSON objects (df05b06)
  • update error messages (585eaec)
  • update outline opacity label for en_US (c3dc256)
  • update RuleCard example (3e09ece)

Miscellaneous Chores

  • update peer dependencies of antd (9b94844)
  • Use antd ColorPicker for ColorField (#2213) (9ed225d), closes #2213

Code Refactoring

  • update and refactor usage of GeoStylerContext (82cb955)
  • use vite for dev & browser build (#2133) (e8d9dac)

12.0.0 (2023-03-13)

⚠ BREAKING CHANGES

  • This updates the props of the Renderer component. Now, props depend on the provided renderer type. For SLD, only the props for the SLDRenderer will be applicable, for OpenLayers, only the props for the oLRenderer will be applicable.
  • Multiple props of components that are related to <CardStyle> have been updated. Mainly, existing properties were removed in order to prepare for the usage of GeoStylerContext.
  • The property unknownSymbolizerText of <Editor> was moved to the locale property in order to provide translations.
  • Removes props filterUiProps, iconLibraries, colorRamps from Rules. Moves showAmount, showDuplicates to RuleCard and to ruleCardProps on Rules.
  • Moved src/Component/Symbolizer/Renderer/Renderer to src/ComponentRenderer/OlRenderer. Moved src/Component/Symbolizer/SLDRenderer to src/Component/Renderer/SLDRenderer. Moved src/Renderer/Renderer to src/Renderer/Renderer. Added OlRenderer specific props to Renderer.
  • Removed prop was replaced with props colorRamps, useBrewerColorRamps and colorSpaces in order to harmonize CardStyle with Style.
  • The label prop was removed from MaxScaleDenominator and MinScaleDenominator. The labels are now part of i18n and can be configured via the locale property.

Features

  • prepare GeoStylerContext (e5529a3)
  • update CompositionContext type (5edda76)
  • use vertical form layout (9cc8e08)

Bug Fixes

  • add missing GeoStylerContext to index.ts (5f74578)
  • adds dynamic translation (2ba62a7)
  • adjust paddings and margins on form items (88c7a78)
  • fixing imports (108a72a)
  • make all CompositionContext props optional (5d8c8b5)
  • remove Omit on oLRendererProps typing (96f867a)
  • remove unneded lines (f8402c0)
  • set missing property in CardStyle (76f6d90)

breaking

  • change props of Renderer component (748a67c)
  • move Editor property unknownSymbolizerText to locale (8148ca7)
  • refactor renderer components (ce87e0f)
  • remove label as a prop from MaxScaleDenominator and MinScaleDenominator (ed3c2af)
  • remove ruleGeneratorProps from CardStyle (c527753)
  • remove unnecessary props from Rules (f037cf7)
  • update props of CardStyle related components (66b1ed1)

11.1.1 (2023-01-16)

Bugfixes

  • apply suggestions from code review (b8486e8)
  • make RuleGeneratorUtil less prone to errors (d55fd15)

11.1.0 (2023-01-11)

Features

  • add offset fields to IconEditor (ab6af25)
  • add offset fields to WellKnownNameEditor (590d1e0)
  • add perpendicular offset field to LineEditor (adadc54)
  • expand FilterTree by default (0e88d75)

Bugfixes

  • adapt path and defaultValue for editors (cb74226)
  • remove internal state handling for CardStyle (58635a1)

11.0.0 (2022-12-13)

⚠ BREAKING CHANGES

  • This forces a major release for a previously wrongly formatted commit message (commit sha 30e19de16a6310dcd79bf4e4292b33bf80004c0d) that lead to the unintended release of version 10.3.1, which includes a breaking change. The code of this release will be identical with the code of version 10.3.1.

Breaking changes

10.3.1 (2022-12-13)

⚠ BREAKING CHANGES

  • The components DragDroppable, DropIndicator, Removable as well as DndUtil and the useDragDrop hook were removed. Component RemovableItem was moved from src/Components/Removable/RemovableItem/RemovableItem.tsx one level up to src/Components/RemovableItem/RemovableItem.tsx. The newly introduced ref forwarding for SymbolizerCard and RuleCard were removed.

  • replace react-dnd with dnd-kit (30e19de)

10.3.0 (2022-12-07)

Features

  • add Drag and Drop for rules and symbolizers to CardStyle (33dbbbb)

Bugfixes

10.2.0 (2022-11-24)

Features

  • add uploadButtonProps to DataLoader (7c4976c)
  • adds srsName field to the WfsParserInput (0c2a1c1)

Bugfixes

  • add check for empty extent to PreviewMap (e8a881c)
  • add ColorRampCombo to index exports (9e0b985)
  • fix onValueChange for between comparions (f38330b)
  • fix style of ColorRampCombo (d36790a)
  • use UploadButtonProps (4fbd55f)

10.1.0 (2022-11-17)

Features

Dependencies

  • update version to 10.0.0 (791a7a7)

Changes in configuration

Bugfixes

  • add check for string before using .toLowerCase() in TextFilterField (fea7117)
  • extend version range to allow ol >=6 (abbcc98)
  • fix onStyleChange for async readStyle (9416ddd)
  • introduce useRef for timeout (1ed49f4)

10.0.0 (2022-11-15)

Features

  • introduces FieldUtil (d592d99)
  • introduces UnsupportedPropertiesContext (1fc6be5)

Changes in configuration

  • fix copy/paste left-over in .releaserc (a115028)
  • introduce husky (46f8c7d)
  • introduce semanti release (d3820a7)

Bugfixes

  • add missing CardLayout to index.ts (11299e0)
  • close curly braces on template attributes (84fc4d1)
  • fix the width of some input fields (e3de4cf)
  • fixes label in FillEditor (cbc757e)
  • fixes uploadbutton loading icon (a4cc6ed)
  • remove unused import in example (8856067)
  • undo propName adaption (483c032)
  • zoom to data if provided (a6d4440)

Breaking changes

  • add nullToUndefined to onChange listener (43757e2)
  • applies translations to FilterEditor (f2286e8)
  • package updates (#1951) (6c3b917)
  • update geostyler-wfs-parser (acc20e9)