@ogc-maps/storybook-components 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/LICENSE +661 -0
  2. package/dist/{BasemapSwitcher-BW7lyZ2Y.js → BasemapSwitcher-DuqVusX0.js} +9 -9
  3. package/dist/CollapsibleControl-BTIkiTmU.js +60 -0
  4. package/dist/CoordinateDisplay-BblQ34mS.js +154 -0
  5. package/dist/{ExportButton-Ck1dESnc.js → ExportButton-C8hCCsav.js} +7 -7
  6. package/dist/{FeatureDetailPanel-CkFpdEKW.js → FeatureDetailPanel-DgCHiNi9.js} +16 -16
  7. package/dist/FeatureTooltip-DHjMZC0u.js +49 -0
  8. package/dist/{LayerPanel-C6H74vhO.js → LayerPanel-BkDbZ66Z.js} +28 -28
  9. package/dist/Legend-CvBd-v0n.js +285 -0
  10. package/dist/PropertyList-0EonV_BQ.js +33 -0
  11. package/dist/SearchPanel-DIb7aYVs.js +725 -0
  12. package/dist/components/BasemapSwitcher/index.js +1 -1
  13. package/dist/components/CollapsibleControl/CollapsibleControl.d.ts +4 -1
  14. package/dist/components/CollapsibleControl/CollapsibleControl.d.ts.map +1 -1
  15. package/dist/components/CollapsibleControl/index.js +1 -1
  16. package/dist/components/CompassControl/CompassControl.d.ts +19 -0
  17. package/dist/components/CompassControl/CompassControl.d.ts.map +1 -0
  18. package/dist/components/CompassControl/index.d.ts +3 -0
  19. package/dist/components/CompassControl/index.d.ts.map +1 -0
  20. package/dist/components/CoordinateDisplay/CoordinateDisplay.d.ts +35 -4
  21. package/dist/components/CoordinateDisplay/CoordinateDisplay.d.ts.map +1 -1
  22. package/dist/components/CoordinateDisplay/CoordinateDisplay.test.d.ts +2 -0
  23. package/dist/components/CoordinateDisplay/CoordinateDisplay.test.d.ts.map +1 -0
  24. package/dist/components/CoordinateDisplay/index.d.ts +1 -1
  25. package/dist/components/CoordinateDisplay/index.d.ts.map +1 -1
  26. package/dist/components/CoordinateDisplay/index.js +5 -3
  27. package/dist/components/Cql2FilterEditor/Cql2FilterEditor.d.ts.map +1 -1
  28. package/dist/components/Cql2FilterEditor/FilterRuleGroupEditor.d.ts.map +1 -1
  29. package/dist/components/Cql2FilterEditor/ParameterizableField.d.ts +30 -0
  30. package/dist/components/Cql2FilterEditor/ParameterizableField.d.ts.map +1 -0
  31. package/dist/components/Cql2FilterEditor/styles.d.ts +2 -2
  32. package/dist/components/Cql2FilterEditor/styles.d.ts.map +1 -1
  33. package/dist/components/ExportButton/index.js +1 -1
  34. package/dist/components/ExportModal/ExportModal.d.ts +20 -1
  35. package/dist/components/ExportModal/ExportModal.d.ts.map +1 -1
  36. package/dist/components/ExportModal/index.d.ts +1 -1
  37. package/dist/components/ExportModal/index.d.ts.map +1 -1
  38. package/dist/components/FeatureDetailPanel/index.js +1 -1
  39. package/dist/components/FeatureTooltip/index.js +1 -1
  40. package/dist/components/GlobalSearchBar/GlobalSearchBar.d.ts +25 -0
  41. package/dist/components/GlobalSearchBar/GlobalSearchBar.d.ts.map +1 -0
  42. package/dist/components/GlobalSearchBar/GlobalSearchBar.test.d.ts +2 -0
  43. package/dist/components/GlobalSearchBar/GlobalSearchBar.test.d.ts.map +1 -0
  44. package/dist/components/GlobalSearchBar/index.d.ts +3 -0
  45. package/dist/components/GlobalSearchBar/index.d.ts.map +1 -0
  46. package/dist/components/GlobalSearchConfigEditor/GlobalSearchConfigEditor.d.ts +22 -0
  47. package/dist/components/GlobalSearchConfigEditor/GlobalSearchConfigEditor.d.ts.map +1 -0
  48. package/dist/components/GlobalSearchConfigEditor/GlobalSearchConfigEditor.test.d.ts +2 -0
  49. package/dist/components/GlobalSearchConfigEditor/GlobalSearchConfigEditor.test.d.ts.map +1 -0
  50. package/dist/components/GlobalSearchConfigEditor/index.d.ts +3 -0
  51. package/dist/components/GlobalSearchConfigEditor/index.d.ts.map +1 -0
  52. package/dist/components/ImageryEditor/ImageryEditor.d.ts +0 -1
  53. package/dist/components/ImageryEditor/ImageryEditor.d.ts.map +1 -1
  54. package/dist/components/ImageryEditor/index.d.ts +2 -1
  55. package/dist/components/ImageryEditor/index.d.ts.map +1 -1
  56. package/dist/components/ImageryPanel/ImageryPanel.d.ts.map +1 -1
  57. package/dist/components/InfoControl/InfoControl.d.ts +12 -0
  58. package/dist/components/InfoControl/InfoControl.d.ts.map +1 -0
  59. package/dist/components/InfoControl/InfoModal.d.ts +16 -0
  60. package/dist/components/InfoControl/InfoModal.d.ts.map +1 -0
  61. package/dist/components/InfoControl/index.d.ts +5 -0
  62. package/dist/components/InfoControl/index.d.ts.map +1 -0
  63. package/dist/components/LayerEditor/LayerEditor.d.ts +6 -1
  64. package/dist/components/LayerEditor/LayerEditor.d.ts.map +1 -1
  65. package/dist/components/LayerEditor/LayerList.d.ts +8 -1
  66. package/dist/components/LayerEditor/LayerList.d.ts.map +1 -1
  67. package/dist/components/LayerEditor/index.d.ts +1 -1
  68. package/dist/components/LayerEditor/index.d.ts.map +1 -1
  69. package/dist/components/LayerPanel/index.js +1 -1
  70. package/dist/components/Legend/Legend.d.ts +7 -1
  71. package/dist/components/Legend/Legend.d.ts.map +1 -1
  72. package/dist/components/Legend/index.js +1 -1
  73. package/dist/components/PropertyFilterPanel/PropertyFilterPanel.d.ts +21 -0
  74. package/dist/components/PropertyFilterPanel/PropertyFilterPanel.d.ts.map +1 -0
  75. package/dist/components/PropertyFilterPanel/index.d.ts +3 -0
  76. package/dist/components/PropertyFilterPanel/index.d.ts.map +1 -0
  77. package/dist/components/QueryPanel/QueryPanel.d.ts.map +1 -1
  78. package/dist/components/ResultsDrawer/ResultsDrawer.d.ts +12 -1
  79. package/dist/components/ResultsDrawer/ResultsDrawer.d.ts.map +1 -1
  80. package/dist/components/ResultsDrawer/index.d.ts +1 -1
  81. package/dist/components/ResultsDrawer/index.d.ts.map +1 -1
  82. package/dist/components/ResultsDrawer/tableUtils.d.ts +11 -0
  83. package/dist/components/ResultsDrawer/tableUtils.d.ts.map +1 -0
  84. package/dist/components/ScaleBarControl/ScaleBarControl.d.ts +32 -0
  85. package/dist/components/ScaleBarControl/ScaleBarControl.d.ts.map +1 -0
  86. package/dist/components/ScaleBarControl/index.d.ts +2 -0
  87. package/dist/components/ScaleBarControl/index.d.ts.map +1 -0
  88. package/dist/components/SearchPanel/SearchPanel.d.ts +15 -2
  89. package/dist/components/SearchPanel/SearchPanel.d.ts.map +1 -1
  90. package/dist/components/SearchPanel/index.js +1 -1
  91. package/dist/components/SideMenuPanel/SideMenuPanel.d.ts +51 -0
  92. package/dist/components/SideMenuPanel/SideMenuPanel.d.ts.map +1 -0
  93. package/dist/components/SideMenuPanel/index.d.ts +3 -0
  94. package/dist/components/SideMenuPanel/index.d.ts.map +1 -0
  95. package/dist/components/SourceEditor/SourceEditor.d.ts +3 -1
  96. package/dist/components/SourceEditor/SourceEditor.d.ts.map +1 -1
  97. package/dist/components/SourceEditor/SourceList.d.ts +6 -1
  98. package/dist/components/SourceEditor/SourceList.d.ts.map +1 -1
  99. package/dist/components/SourceEditor/index.d.ts +1 -1
  100. package/dist/components/SourceEditor/index.d.ts.map +1 -1
  101. package/dist/components/StyleEditor/DataDrivenColorEditor.d.ts +6 -1
  102. package/dist/components/StyleEditor/DataDrivenColorEditor.d.ts.map +1 -1
  103. package/dist/components/StyleEditor/PropertyField.d.ts +4 -1
  104. package/dist/components/StyleEditor/PropertyField.d.ts.map +1 -1
  105. package/dist/components/StyleEditor/PropertyGroup.d.ts +4 -1
  106. package/dist/components/StyleEditor/PropertyGroup.d.ts.map +1 -1
  107. package/dist/components/StyleEditor/StyleEditor.d.ts +5 -1
  108. package/dist/components/StyleEditor/StyleEditor.d.ts.map +1 -1
  109. package/dist/components/UIConfigEditor/UIConfigEditor.d.ts +13 -2
  110. package/dist/components/UIConfigEditor/UIConfigEditor.d.ts.map +1 -1
  111. package/dist/components/UserMenu/UserMenu.d.ts +15 -0
  112. package/dist/components/UserMenu/UserMenu.d.ts.map +1 -0
  113. package/dist/components/UserMenu/index.d.ts +3 -0
  114. package/dist/components/UserMenu/index.d.ts.map +1 -0
  115. package/dist/components/ViewEditor/ViewEditor.d.ts.map +1 -1
  116. package/dist/components/index.d.ts +22 -5
  117. package/dist/components/index.d.ts.map +1 -1
  118. package/dist/components/shared/controlIcons.d.ts +10 -0
  119. package/dist/components/shared/controlIcons.d.ts.map +1 -0
  120. package/dist/{geo-BXaVaxak.js → geo-DUdRIR7u.js} +1288 -1219
  121. package/dist/hooks/index.js +2 -2
  122. package/dist/hooks/useExport.d.ts +6 -0
  123. package/dist/hooks/useExport.d.ts.map +1 -1
  124. package/dist/id-C2J6iu8_.js +11 -0
  125. package/dist/{index-CzYEPGO9.js → index-BtQnyWPg.js} +1318 -1171
  126. package/dist/main.js +13448 -2959
  127. package/dist/schemas/config.d.ts +341 -2
  128. package/dist/schemas/config.d.ts.map +1 -1
  129. package/dist/schemas/index.d.ts +1 -1
  130. package/dist/schemas/index.d.ts.map +1 -1
  131. package/dist/schemas/index.js +35 -24
  132. package/dist/style.css +1 -1
  133. package/dist/types/index.d.ts +10 -2
  134. package/dist/types/index.d.ts.map +1 -1
  135. package/dist/types/index.js +56 -44
  136. package/dist/useSelection-BFHYsPvU.js +224 -0
  137. package/dist/utils/colorPalettes.d.ts +4 -2
  138. package/dist/utils/colorPalettes.d.ts.map +1 -1
  139. package/dist/utils/colorThemes.d.ts +12 -0
  140. package/dist/utils/colorThemes.d.ts.map +1 -0
  141. package/dist/utils/cql2.d.ts.map +1 -1
  142. package/dist/utils/exportConverters.d.ts.map +1 -1
  143. package/dist/utils/geo.d.ts +53 -0
  144. package/dist/utils/geo.d.ts.map +1 -1
  145. package/dist/utils/id.d.ts +2 -0
  146. package/dist/utils/id.d.ts.map +1 -0
  147. package/dist/utils/index.d.ts +4 -0
  148. package/dist/utils/index.d.ts.map +1 -1
  149. package/dist/utils/index.js +352 -150
  150. package/dist/utils/ogcApi.d.ts +10 -5
  151. package/dist/utils/ogcApi.d.ts.map +1 -1
  152. package/dist/utils/propertyFilters.d.ts +35 -0
  153. package/dist/utils/propertyFilters.d.ts.map +1 -0
  154. package/dist/utils/queryParameters.d.ts +1 -0
  155. package/dist/utils/queryParameters.d.ts.map +1 -1
  156. package/dist/utils/slugify.d.ts +2 -0
  157. package/dist/utils/slugify.d.ts.map +1 -0
  158. package/package.json +13 -7
  159. package/dist/CollapsibleControl-qo9daiD8.js +0 -53
  160. package/dist/CoordinateDisplay-PxPmVjpm.js +0 -47
  161. package/dist/FeatureTooltip-DxzN-jnp.js +0 -49
  162. package/dist/Legend-BLWBzD7Y.js +0 -275
  163. package/dist/PropertyList-BGXHLVBM.js +0 -33
  164. package/dist/SearchPanel-4Y12jfuP.js +0 -401
  165. package/dist/useSelection-B1RnQZlj.js +0 -206
@@ -1,4 +1,4 @@
1
- import { L as r } from "../../Legend-BLWBzD7Y.js";
1
+ import { L as r } from "../../Legend-CvBd-v0n.js";
2
2
  export {
3
3
  r as Legend
4
4
  };
@@ -0,0 +1,21 @@
1
+ import { LayerConfig, AvailableProperty } from '../../types';
2
+ import { PropertyFilter } from '../../utils/propertyFilters';
3
+ export interface PropertyFilterPanelProps {
4
+ layers: LayerConfig[];
5
+ availableProperties?: Record<string, AvailableProperty[]>;
6
+ filters: PropertyFilter[];
7
+ onFiltersChange: (filters: PropertyFilter[]) => void;
8
+ /** Soft cap per layer. Defaults to 20. */
9
+ maxFiltersPerLayer?: number;
10
+ }
11
+ /**
12
+ * Type-aware property filter panel. Renders text inputs for strings,
13
+ * operator + number inputs for numeric properties, and date range inputs
14
+ * for datetime properties. Property types are inferred from the OGC API
15
+ * queryables metadata passed via `availableProperties`.
16
+ *
17
+ * Fully controlled. Compile to CQL2 at the call site via
18
+ * `propertyFiltersToCql2` from `utils/propertyFilters`.
19
+ */
20
+ export declare function PropertyFilterPanel({ layers, availableProperties, filters, onFiltersChange, maxFiltersPerLayer, }: PropertyFilterPanelProps): import("react/jsx-runtime").JSX.Element;
21
+ //# sourceMappingURL=PropertyFilterPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropertyFilterPanel.d.ts","sourceRoot":"","sources":["../../../src/components/PropertyFilterPanel/PropertyFilterPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,6BAA6B,CAAC;AAGvF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC1D,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,eAAe,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IACrD,0CAA0C;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AA4LD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,mBAAmB,EACnB,OAAO,EACP,eAAe,EACf,kBAAuB,GACxB,EAAE,wBAAwB,2CAsJ1B"}
@@ -0,0 +1,3 @@
1
+ export { PropertyFilterPanel } from './PropertyFilterPanel';
2
+ export type { PropertyFilterPanelProps } from './PropertyFilterPanel';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PropertyFilterPanel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryPanel.d.ts","sourceRoot":"","sources":["../../../src/components/QueryPanel/QueryPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,UAAU,EAAE,eAAe,CAAC;IAC5B,wDAAwD;IACxD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACjD,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,KAAK,EACL,OAAe,EACf,oBAA4B,EAC5B,SAAS,GACV,EAAE,eAAe,2CA6EjB"}
1
+ {"version":3,"file":"QueryPanel.d.ts","sourceRoot":"","sources":["../../../src/components/QueryPanel/QueryPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,UAAU,EAAE,eAAe,CAAC;IAC5B,wDAAwD;IACxD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACjD,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,KAAK,EACL,OAAe,EACf,oBAA4B,EAC5B,SAAS,GACV,EAAE,eAAe,2CA8FjB"}
@@ -1,3 +1,8 @@
1
+ export type SortDirection = 'asc' | 'desc';
2
+ export interface ResultsDrawerSort {
3
+ property: string;
4
+ direction: SortDirection;
5
+ }
1
6
  export interface ResultsDrawerTab {
2
7
  id: string;
3
8
  label: string;
@@ -24,6 +29,12 @@ export interface ResultsDrawerProps {
24
29
  tabs?: ResultsDrawerTab[];
25
30
  activeTabId?: string;
26
31
  onTabChange?: (tabId: string) => void;
32
+ columnOrder?: string[];
33
+ onColumnOrderChange?: (order: string[]) => void;
34
+ hiddenColumns?: string[];
35
+ onHiddenColumnsChange?: (hidden: string[]) => void;
36
+ sortBy?: ResultsDrawerSort | null;
37
+ onSortChange?: (sort: ResultsDrawerSort | null) => void;
27
38
  }
28
- export declare function ResultsDrawer({ open, features: featuresProp, columns: columnsProp, title, onClose, onExport: onExportProp, onFeatureClick, onClearSelection, tabs, activeTabId, onTabChange, }: ResultsDrawerProps): import("react/jsx-runtime").JSX.Element | null;
39
+ export declare function ResultsDrawer({ open, features: featuresProp, columns: columnsProp, title, onClose, onExport: onExportProp, onFeatureClick, onClearSelection, tabs, activeTabId, onTabChange, columnOrder: columnOrderProp, onColumnOrderChange, hiddenColumns: hiddenColumnsProp, onHiddenColumnsChange, sortBy: sortByProp, onSortChange, }: ResultsDrawerProps): import("react/jsx-runtime").JSX.Element;
29
40
  //# sourceMappingURL=ResultsDrawer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResultsDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/ResultsDrawer/ResultsDrawer.tsx"],"names":[],"mappings":"AAWA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IAC7F,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAGzC,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAG9B,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAMD,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,EACpB,KAAiB,EACjB,OAAO,EACP,QAAQ,EAAE,YAAY,EACtB,cAAc,EACd,gBAAgB,EAChB,IAAI,EACJ,WAAW,EACX,WAAW,GACZ,EAAE,kBAAkB,kDAiMpB"}
1
+ {"version":3,"file":"ResultsDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/ResultsDrawer/ResultsDrawer.tsx"],"names":[],"mappings":"AAcA,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IAC7F,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAGzC,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAG9B,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAGtC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAGhD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAInD,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD;AAMD,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,EACpB,KAAiB,EACjB,OAAO,EACP,QAAQ,EAAE,YAAY,EACtB,cAAc,EACd,gBAAgB,EAChB,IAAI,EACJ,WAAW,EACX,WAAW,EACX,WAAW,EAAE,eAAe,EAC5B,mBAAmB,EACnB,aAAa,EAAE,iBAAiB,EAChC,qBAAqB,EACrB,MAAM,EAAE,UAAU,EAClB,YAAY,GACb,EAAE,kBAAkB,2CAyZpB"}
@@ -1,3 +1,3 @@
1
1
  export { ResultsDrawer } from './ResultsDrawer';
2
- export type { ResultsDrawerProps, ResultsDrawerTab } from './ResultsDrawer';
2
+ export type { ResultsDrawerProps, ResultsDrawerTab, ResultsDrawerSort, SortDirection, } from './ResultsDrawer';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ResultsDrawer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ResultsDrawer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,GACd,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /** Format a property value for table display. */
2
+ export declare function formatCellValue(value: unknown): string;
3
+ /** Compare two property values for sorting. Handles null, numbers, and strings. */
4
+ export declare function compareValues(a: unknown, b: unknown): number;
5
+ /**
6
+ * Compute visible column order from base columns + user reorder + hidden set.
7
+ * Unknown reordered columns are ignored; new base columns missing from order
8
+ * are appended at the end.
9
+ */
10
+ export declare function applyColumnOrder(baseColumns: string[], columnOrder: string[] | undefined): string[];
11
+ //# sourceMappingURL=tableUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableUtils.d.ts","sourceRoot":"","sources":["../../../src/components/ResultsDrawer/tableUtils.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKtD;AAED,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAS5D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS,GAChC,MAAM,EAAE,CAMV"}
@@ -0,0 +1,32 @@
1
+ export type ScaleBarUnit = 'metric' | 'imperial';
2
+ export interface ScaleBarControlProps {
3
+ /** Current map zoom level. */
4
+ zoom: number;
5
+ /** Current map center latitude (needed for Web Mercator scale). */
6
+ latitude: number;
7
+ /** Display unit system. Defaults to metric. */
8
+ unit?: ScaleBarUnit;
9
+ /** Maximum on-screen bar width in pixels. Defaults to 100. */
10
+ maxWidthPx?: number;
11
+ className?: string;
12
+ }
13
+ /** Meters represented by one pixel at the given zoom and latitude (Web Mercator). */
14
+ export declare function metersPerPixel(zoom: number, latitude: number): number;
15
+ interface ScaleBarValue {
16
+ label: string;
17
+ widthPx: number;
18
+ }
19
+ /** Computes the displayed label and bar width for a metric scale bar. */
20
+ export declare function computeMetricScale(zoom: number, latitude: number, maxWidthPx: number): ScaleBarValue;
21
+ /** Computes the displayed label and bar width for an imperial scale bar. */
22
+ export declare function computeImperialScale(zoom: number, latitude: number, maxWidthPx: number): ScaleBarValue;
23
+ /**
24
+ * A framework-agnostic scale bar. Given a zoom level, center latitude, and
25
+ * unit system, renders a labeled bar whose pixel width matches the round
26
+ * ground distance in the label.
27
+ *
28
+ * Fully controlled: has no internal state and no dependency on MapLibre.
29
+ */
30
+ export declare function ScaleBarControl({ zoom, latitude, unit, maxWidthPx, className, }: ScaleBarControlProps): import("react/jsx-runtime").JSX.Element;
31
+ export {};
32
+ //# sourceMappingURL=ScaleBarControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScaleBarControl.d.ts","sourceRoot":"","sources":["../../../src/components/ScaleBarControl/ScaleBarControl.tsx"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrE;AAcD,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,aAAa,CASf;AAED,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,aAAa,CAUf;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,QAAQ,EACR,IAAe,EACf,UAAgB,EAChB,SAAc,GACf,EAAE,oBAAoB,2CAkBtB"}
@@ -0,0 +1,2 @@
1
+ export { ScaleBarControl, computeMetricScale, computeImperialScale, metersPerPixel, type ScaleBarControlProps, type ScaleBarUnit, } from './ScaleBarControl';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ScaleBarControl/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC"}
@@ -1,4 +1,5 @@
1
- import { LayerConfig, SearchFilterValues, SearchFilterValue } from '../../types';
1
+ import { LayerConfig, SearchFilterValues, SearchFilterValue, AvailableProperty } from '../../types';
2
+ import { PropertyFilter } from '../../utils/propertyFilters';
2
3
  export interface SearchPanelProps {
3
4
  layers: LayerConfig[];
4
5
  activeFilters: Record<string, SearchFilterValues>;
@@ -11,6 +12,18 @@ export interface SearchPanelProps {
11
12
  onZoomToFeature?: (layerId: string, property: string, value: string) => void;
12
13
  className?: string;
13
14
  hideTitle?: boolean;
15
+ /** When true, shows an expand button that toggles a centered modal view with the All Filters builder. */
16
+ expandable?: boolean;
17
+ /** Controlled expanded state. Only honored when `expandable` is true. */
18
+ expanded?: boolean;
19
+ /** Callback when the user toggles the expand button. */
20
+ onExpandedChange?: (expanded: boolean) => void;
21
+ /** Per-layer queryable properties, keyed by layer id. Enables typed property pickers in the All Filters builder. */
22
+ availableProperties?: Record<string, AvailableProperty[]>;
23
+ /** Flat ad-hoc property filter list rendered in the expanded "All Filters" view. Controlled. */
24
+ propertyFilters?: PropertyFilter[];
25
+ /** Callback when the user edits the flat property filter list. */
26
+ onPropertyFiltersChange?: (filters: PropertyFilter[]) => void;
14
27
  }
15
- export declare function SearchPanel({ layers, activeFilters, onFilterChange, onClearFilters, autocompleteSuggestions, onZoomToFeature, onFetchSuggestions, className, hideTitle, }: SearchPanelProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare function SearchPanel({ layers, activeFilters, onFilterChange, onClearFilters, autocompleteSuggestions, onZoomToFeature, onFetchSuggestions, className, hideTitle, expandable, expanded, onExpandedChange, availableProperties, propertyFilters, onPropertyFiltersChange, }: SearchPanelProps): import("react/jsx-runtime").JSX.Element;
16
29
  //# sourceMappingURL=SearchPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchPanel.d.ts","sourceRoot":"","sources":["../../../src/components/SearchPanel/SearchPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAA2F,MAAM,aAAa,CAAC;AAK/K,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAClD,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACtF,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAClH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAcD,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,aAAa,EACb,cAAc,EACd,cAAc,EACd,uBAA4B,EAC5B,eAAe,EACf,kBAAkB,EAClB,SAAc,EACd,SAAS,GACV,EAAE,gBAAgB,2CA+LlB"}
1
+ {"version":3,"file":"SearchPanel.d.ts","sourceRoot":"","sources":["../../../src/components/SearchPanel/SearchPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAA2F,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAClM,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAMlE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAClD,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACtF,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAClH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yGAAyG;IACzG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,oHAAoH;IACpH,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC1D,gGAAgG;IAChG,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,kEAAkE;IAClE,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;CAC/D;AAcD,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,aAAa,EACb,cAAc,EACd,cAAc,EACd,uBAA4B,EAC5B,eAAe,EACf,kBAAkB,EAClB,SAAc,EACd,SAAS,EACT,UAAkB,EAClB,QAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,uBAAuB,GACxB,EAAE,gBAAgB,2CAkPlB"}
@@ -1,4 +1,4 @@
1
- import { S as r } from "../../SearchPanel-4Y12jfuP.js";
1
+ import { S as r } from "../../SearchPanel-DIb7aYVs.js";
2
2
  export {
3
3
  r as SearchPanel
4
4
  };
@@ -0,0 +1,51 @@
1
+ export interface SideMenuPanelItem {
2
+ /** Stable identifier used for keyed rendering and section expand state. */
3
+ key: string;
4
+ /** Visible label for the section header. */
5
+ label: string;
6
+ /** Icon component shown next to the label. */
7
+ icon: React.ComponentType<{
8
+ size?: number;
9
+ className?: string;
10
+ }>;
11
+ /** Expanded content — any React node. Ignored when `onAction` is set. */
12
+ content?: React.ReactNode;
13
+ /** When set, the row becomes a direct-action button (no accordion, no chevron). */
14
+ onAction?: () => void;
15
+ /** When true, the section starts expanded on first render. Ignored for action items. */
16
+ defaultExpanded?: boolean;
17
+ }
18
+ export interface SideMenuPanelProps {
19
+ /** Controls rendered as collapsible sections inside the panel. */
20
+ controls: SideMenuPanelItem[];
21
+ /** Whether the panel is currently open. */
22
+ isOpen: boolean;
23
+ /** Called when the user dismisses the panel (close button or Escape key). */
24
+ onClose: () => void;
25
+ /** Title rendered at the top of the panel. Defaults to "Menu". */
26
+ title?: string;
27
+ /** Key of the section to render expanded initially. Used only when no item declares `defaultExpanded`. Defaults to the first item. */
28
+ defaultOpenKey?: string;
29
+ }
30
+ /**
31
+ * SideMenuPanel
32
+ *
33
+ * A slide-in-from-right scrollable panel that presents map controls as
34
+ * accordion sections. Intended for mobile screens and for admins who
35
+ * prefer a single hamburger menu over a stack of individual control
36
+ * buttons. The trigger button (hamburger) is exported separately as
37
+ * `SideMenuToggle` so callers can place it wherever they need it.
38
+ */
39
+ export declare function SideMenuPanel({ controls, isOpen, onClose, title, defaultOpenKey, }: SideMenuPanelProps): import("react/jsx-runtime").JSX.Element;
40
+ export interface SideMenuToggleProps {
41
+ onClick: () => void;
42
+ label?: string;
43
+ className?: string;
44
+ }
45
+ /**
46
+ * Hamburger button that opens a SideMenuPanel. Styled to match
47
+ * ExportButton / CollapsibleControl so it slots into the same top-right
48
+ * stack.
49
+ */
50
+ export declare function SideMenuToggle({ onClick, label, className, }: SideMenuToggleProps): import("react/jsx-runtime").JSX.Element;
51
+ //# sourceMappingURL=SideMenuPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SideMenuPanel.d.ts","sourceRoot":"","sources":["../../../src/components/SideMenuPanel/SideMenuPanel.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,yEAAyE;IACzE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,wFAAwF;IACxF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,2CAA2C;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sIAAsI;IACtI,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAc,EACd,cAAc,GACf,EAAE,kBAAkB,2CA2GpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,KAAmB,EACnB,SAAc,GACf,EAAE,mBAAmB,2CAYrB"}
@@ -0,0 +1,3 @@
1
+ export { SideMenuPanel, SideMenuToggle } from './SideMenuPanel';
2
+ export type { SideMenuPanelProps, SideMenuPanelItem, SideMenuToggleProps, } from './SideMenuPanel';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SideMenuPanel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChE,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC"}
@@ -5,6 +5,8 @@ export interface SourceEditorProps {
5
5
  onTestConnection?: (url: string, auth?: SourceAuth) => void;
6
6
  testStatus?: 'idle' | 'loading' | 'success' | 'error';
7
7
  testError?: string;
8
+ /** When set, hides the type radio and locks the source to this type. */
9
+ sourceType?: 'features' | 'imagery';
8
10
  }
9
- export declare function SourceEditor({ value, onChange, onTestConnection, testStatus, testError, }: SourceEditorProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function SourceEditor({ value, onChange, onTestConnection, testStatus, testError, sourceType, }: SourceEditorProps): import("react/jsx-runtime").JSX.Element;
10
12
  //# sourceMappingURL=SourceEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SourceEditor.d.ts","sourceRoot":"","sources":["../../../src/components/SourceEditor/SourceEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG5D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5D,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,UAAmB,EACnB,SAAS,GACV,EAAE,iBAAiB,2CA+JnB"}
1
+ {"version":3,"file":"SourceEditor.d.ts","sourceRoot":"","sources":["../../../src/components/SourceEditor/SourceEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG5D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5D,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACrC;AAKD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,UAAmB,EACnB,SAAS,EACT,UAAU,GACX,EAAE,iBAAiB,2CAiKnB"}
@@ -2,6 +2,11 @@ import { OgcApiSource } from '../../types';
2
2
  export interface SourceListProps {
3
3
  sources: OgcApiSource[];
4
4
  onChange: (sources: OgcApiSource[]) => void;
5
+ /** When set, only shows sources of this type and locks new sources to it. */
6
+ sourceType?: 'features' | 'imagery';
5
7
  }
6
- export declare function SourceList({ sources, onChange }: SourceListProps): import("react/jsx-runtime").JSX.Element;
8
+ /** Check whether a source matches a given type (defaults to 'features' when unset). */
9
+ export declare const isSourceType: (source: OgcApiSource, type: "features" | "imagery") => boolean;
10
+ export declare const isFeatureSource: (source: OgcApiSource) => boolean;
11
+ export declare function SourceList({ sources, onChange, sourceType }: SourceListProps): import("react/jsx-runtime").JSX.Element;
7
12
  //# sourceMappingURL=SourceList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SourceList.d.ts","sourceRoot":"","sources":["../../../src/components/SourceEditor/SourceList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;CAC7C;AAUD,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAoLhE"}
1
+ {"version":3,"file":"SourceList.d.ts","sourceRoot":"","sources":["../../../src/components/SourceEditor/SourceList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IAC5C,6EAA6E;IAC7E,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACrC;AAED,uFAAuF;AACvF,eAAO,MAAM,YAAY,GAAI,QAAQ,YAAY,EAAE,MAAM,UAAU,GAAG,SAAS,YACzC,CAAC;AAEvC,eAAO,MAAM,eAAe,GAAI,QAAQ,YAAY,YAAqC,CAAC;AAU1F,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,eAAe,2CAkM5E"}
@@ -1,5 +1,5 @@
1
1
  export { SourceEditor } from './SourceEditor';
2
2
  export type { SourceEditorProps } from './SourceEditor';
3
- export { SourceList } from './SourceList';
3
+ export { SourceList, isFeatureSource, isSourceType } from './SourceList';
4
4
  export type { SourceListProps } from './SourceList';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SourceEditor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SourceEditor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -1,9 +1,14 @@
1
1
  import { AvailableProperty, FetchDistinctValuesFn } from '../../types';
2
+ import { ColorThemeId } from '../../utils/colorThemes';
2
3
  export interface DataDrivenColorEditorProps {
3
4
  value: unknown[];
4
5
  onChange: (expr: unknown[]) => void;
5
6
  availableProperties?: AvailableProperty[];
6
7
  onFetchDistinctValues?: FetchDistinctValuesFn;
8
+ /** Optional color theme controlling autogenerate/auto-populate color selection. */
9
+ theme?: ColorThemeId;
10
+ /** Called when the user picks a new theme from the dropdown. */
11
+ onThemeChange?: (theme: ColorThemeId) => void;
7
12
  }
8
- export declare function DataDrivenColorEditor({ value, onChange, availableProperties, onFetchDistinctValues, }: DataDrivenColorEditorProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function DataDrivenColorEditor({ value, onChange, availableProperties, onFetchDistinctValues, theme, onThemeChange, }: DataDrivenColorEditorProps): import("react/jsx-runtime").JSX.Element;
9
14
  //# sourceMappingURL=DataDrivenColorEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataDrivenColorEditor.d.ts","sourceRoot":"","sources":["../../../src/components/StyleEditor/DataDrivenColorEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAI5E,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC1C,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C;AAyGD,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,QAAQ,EACR,mBAAwB,EACxB,qBAAqB,GACtB,EAAE,0BAA0B,2CAiT5B"}
1
+ {"version":3,"file":"DataDrivenColorEditor.d.ts","sourceRoot":"","sources":["../../../src/components/StyleEditor/DataDrivenColorEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAG5E,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE3F,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC1C,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,mFAAmF;IACnF,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,gEAAgE;IAChE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CAC/C;AAyGD,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,QAAQ,EACR,mBAAwB,EACxB,qBAAqB,EACrB,KAAK,EACL,aAAa,GACd,EAAE,0BAA0B,2CAkU5B"}
@@ -1,5 +1,6 @@
1
1
  import { PropertyDefinition } from './propertyMetadata';
2
2
  import { AvailableProperty, FetchDistinctValuesFn } from '../../types';
3
+ import { ColorThemeId } from '../../utils/colorThemes';
3
4
  interface PropertyFieldProps {
4
5
  def: PropertyDefinition;
5
6
  value: unknown;
@@ -7,7 +8,9 @@ interface PropertyFieldProps {
7
8
  availableIcons?: string[];
8
9
  availableProperties?: AvailableProperty[];
9
10
  onFetchDistinctValues?: FetchDistinctValuesFn;
11
+ colorTheme?: ColorThemeId;
12
+ onColorThemeChange?: (theme: ColorThemeId) => void;
10
13
  }
11
- export declare function PropertyField({ def, value, onChange, availableIcons, availableProperties, onFetchDistinctValues }: PropertyFieldProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function PropertyField({ def, value, onChange, availableIcons, availableProperties, onFetchDistinctValues, colorTheme, onColorThemeChange }: PropertyFieldProps): import("react/jsx-runtime").JSX.Element;
12
15
  export {};
13
16
  //# sourceMappingURL=PropertyField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyField.d.ts","sourceRoot":"","sources":["../../../src/components/StyleEditor/PropertyField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAS5E,UAAU,kBAAkB;IAC1B,GAAG,EAAE,kBAAkB,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC1C,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C;AAsOD,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,EAAE,kBAAkB,2CA2DrI"}
1
+ {"version":3,"file":"PropertyField.d.ts","sourceRoot":"","sources":["../../../src/components/StyleEditor/PropertyField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAK5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAK5D,UAAU,kBAAkB;IAC1B,GAAG,EAAE,kBAAkB,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC1C,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACpD;AA4OD,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,UAAU,EAAE,kBAAkB,EAAE,EAAE,kBAAkB,2CA+DrK"}
@@ -1,5 +1,6 @@
1
1
  import { PropertyDefinition } from './propertyMetadata';
2
2
  import { AvailableProperty, FetchDistinctValuesFn } from '../../types';
3
+ import { ColorThemeId } from '../../utils/colorThemes';
3
4
  interface PropertyGroupProps {
4
5
  title: string;
5
6
  properties: PropertyDefinition[];
@@ -9,7 +10,9 @@ interface PropertyGroupProps {
9
10
  availableIcons?: string[];
10
11
  availableProperties?: AvailableProperty[];
11
12
  onFetchDistinctValues?: FetchDistinctValuesFn;
13
+ colorTheme?: ColorThemeId;
14
+ onColorThemeChange?: (theme: ColorThemeId) => void;
12
15
  }
13
- export declare function PropertyGroup({ title, properties, values, onChange, defaultOpen, availableIcons, availableProperties, onFetchDistinctValues, }: PropertyGroupProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function PropertyGroup({ title, properties, values, onChange, defaultOpen, availableIcons, availableProperties, onFetchDistinctValues, colorTheme, onColorThemeChange, }: PropertyGroupProps): import("react/jsx-runtime").JSX.Element;
14
17
  export {};
15
18
  //# sourceMappingURL=PropertyGroup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGroup.d.ts","sourceRoot":"","sources":["../../../src/components/StyleEditor/PropertyGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAI5E,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC1C,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,UAAU,EACV,MAAM,EACN,QAAQ,EACR,WAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,GACtB,EAAE,kBAAkB,2CAsBpB"}
1
+ {"version":3,"file":"PropertyGroup.d.ts","sourceRoot":"","sources":["../../../src/components/StyleEditor/PropertyGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAG5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC1C,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACpD;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,UAAU,EACV,MAAM,EACN,QAAQ,EACR,WAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,kBAAkB,GACnB,EAAE,kBAAkB,2CAwBpB"}
@@ -1,4 +1,5 @@
1
1
  import { StyleConfig, FillStyle, LineStyle, CircleStyle, SymbolStyle, AvailableProperty, FetchDistinctValuesFn } from '../../types';
2
+ import { ColorThemeId } from '../../utils/colorThemes';
2
3
  export interface StyleEditorProps {
3
4
  value: StyleConfig;
4
5
  onChange: (style: StyleConfig) => void;
@@ -7,10 +8,13 @@ export interface StyleEditorProps {
7
8
  availableIcons?: string[];
8
9
  availableProperties?: AvailableProperty[];
9
10
  onFetchDistinctValues?: FetchDistinctValuesFn;
11
+ /** Optional color theme that scopes autogenerate color selection. */
12
+ colorTheme?: ColorThemeId;
13
+ onColorThemeChange?: (theme: ColorThemeId) => void;
10
14
  }
11
15
  export declare const defaultFill: FillStyle;
12
16
  export declare const defaultLine: LineStyle;
13
17
  export declare const defaultCircle: CircleStyle;
14
18
  export declare const defaultSymbol: SymbolStyle;
15
- export declare function StyleEditor({ value, onChange, suggestedType, suggestedTypes, availableIcons, availableProperties, onFetchDistinctValues }: StyleEditorProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function StyleEditor({ value, onChange, suggestedType, suggestedTypes, availableIcons, availableProperties, onFetchDistinctValues, colorTheme, onColorThemeChange }: StyleEditorProps): import("react/jsx-runtime").JSX.Element;
16
20
  //# sourceMappingURL=StyleEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StyleEditor.d.ts","sourceRoot":"","sources":["../../../src/components/StyleEditor/StyleEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAMzI,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC7D,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC1C,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C;AAED,eAAO,MAAM,WAAW,EAAE,SAGzB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SAGzB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAG3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAI3B,CAAC;AAgCF,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,EAAE,gBAAgB,2CAsN3J"}
1
+ {"version":3,"file":"StyleEditor.d.ts","sourceRoot":"","sources":["../../../src/components/StyleEditor/StyleEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAKzI,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC7D,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC1C,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,qEAAqE;IACrE,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACpD;AAED,eAAO,MAAM,WAAW,EAAE,SAGzB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SAGzB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAG3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAI3B,CAAC;AAgCF,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,UAAU,EAAE,kBAAkB,EAAE,EAAE,gBAAgB,2CA0N3L"}
@@ -1,7 +1,18 @@
1
- import { UIConfig } from '../../types';
1
+ import { UIConfig, LayerConfig } from '../../types';
2
2
  export interface UIConfigEditorProps {
3
3
  value: UIConfig;
4
4
  onChange: (config: UIConfig) => void;
5
+ /** Keys that were auto-enabled by the wizard based on config state. */
6
+ autoEnabled?: Set<keyof UIConfig>;
7
+ /**
8
+ * Optional list of layers that have legend configs. When provided, the editor
9
+ * renders a "Legend Order" reorder UI that writes to `value.legendOrder`.
10
+ */
11
+ layers?: LayerConfig[];
12
+ /** External toggle state for the info control (driven by `info.enabled`). */
13
+ infoEnabled?: boolean;
14
+ /** Callback when the info control toggle changes in the control stack. */
15
+ onInfoEnabledChange?: (enabled: boolean) => void;
5
16
  }
6
- export declare function UIConfigEditor({ value, onChange }: UIConfigEditorProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function UIConfigEditor({ value, onChange, autoEnabled, layers, infoEnabled, onInfoEnabledChange }: UIConfigEditorProps): import("react/jsx-runtime").JSX.Element;
7
18
  //# sourceMappingURL=UIConfigEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UIConfigEditor.d.ts","sourceRoot":"","sources":["../../../src/components/UIConfigEditor/UIConfigEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;CACtC;AAiBD,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,mBAAmB,2CAkDtE"}
1
+ {"version":3,"file":"UIConfigEditor.d.ts","sourceRoot":"","sources":["../../../src/components/UIConfigEditor/UIConfigEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAuB,WAAW,EAAgC,MAAM,aAAa,CAAC;AAK5G,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrC,uEAAuE;IACvE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0EAA0E;IAC1E,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AA0ED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAE,mBAAmB,2CAmc7H"}
@@ -0,0 +1,15 @@
1
+ export interface UserMenuItem {
2
+ label: string;
3
+ icon?: React.ComponentType<{
4
+ className?: string;
5
+ }>;
6
+ onClick: () => void;
7
+ variant?: 'default' | 'danger';
8
+ }
9
+ export interface UserMenuProps {
10
+ username?: string;
11
+ menuItems?: UserMenuItem[];
12
+ onLogout: () => void;
13
+ }
14
+ export declare function UserMenu({ username, menuItems, onLogout }: UserMenuProps): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=UserMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserMenu.d.ts","sourceRoot":"","sources":["../../../src/components/UserMenu/UserMenu.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAc,EAAE,QAAQ,EAAE,EAAE,aAAa,2CAkF7E"}
@@ -0,0 +1,3 @@
1
+ export { UserMenu } from './UserMenu';
2
+ export type { UserMenuProps, UserMenuItem } from './UserMenu';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/UserMenu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewEditor.d.ts","sourceRoot":"","sources":["../../../src/components/ViewEditor/ViewEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC;AA+BD,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,eAAe,2CA2B9D"}
1
+ {"version":3,"file":"ViewEditor.d.ts","sourceRoot":"","sources":["../../../src/components/ViewEditor/ViewEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC;AA6CD,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,eAAe,2CA+B9D"}
@@ -2,33 +2,45 @@ export { BasemapSwitcher } from './BasemapSwitcher';
2
2
  export type { BasemapSwitcherProps } from './BasemapSwitcher';
3
3
  export { CollapsibleControl } from './CollapsibleControl';
4
4
  export type { CollapsibleControlProps } from './CollapsibleControl';
5
- export { CoordinateDisplay, formatDecimal, formatDMS, } from './CoordinateDisplay';
5
+ export { CompassControl } from './CompassControl';
6
+ export type { CompassControlProps } from './CompassControl';
7
+ export { CoordinateDisplay, formatDecimal, formatDMS, formatDDM, } from './CoordinateDisplay';
6
8
  export type { CoordinateDisplayProps, CoordinateFormatOption, } from './CoordinateDisplay';
7
9
  export { ExportButton } from './ExportButton';
8
10
  export type { ExportButtonProps } from './ExportButton';
9
11
  export { ExportModal } from './ExportModal';
10
- export type { ExportModalProps, ExportFormatOption, ExportRequest, ExportableLayer } from './ExportModal';
12
+ export type { ExportModalProps, ExportFormatOption, ExportRequest, ExportableLayer, ExportMode, PdfExportOptions, } from './ExportModal';
11
13
  export { FeatureDetailPanel } from './FeatureDetailPanel';
12
14
  export type { FeatureDetailPanelProps } from './FeatureDetailPanel';
13
15
  export { FeatureTooltip } from './FeatureTooltip';
14
16
  export type { FeatureTooltipProps } from './FeatureTooltip';
15
17
  export { ImageryPanel } from './ImageryPanel';
16
18
  export type { ImageryPanelProps } from './ImageryPanel';
19
+ export { InfoControl, InfoModal } from './InfoControl';
20
+ export type { InfoControlProps, InfoModalProps } from './InfoControl';
17
21
  export { LayerPanel } from './LayerPanel';
18
22
  export type { LayerPanelProps } from './LayerPanel';
19
23
  export { Legend } from './Legend';
20
24
  export type { LegendProps } from './Legend';
25
+ export { ScaleBarControl, computeMetricScale, computeImperialScale, metersPerPixel, } from './ScaleBarControl';
26
+ export type { ScaleBarControlProps, ScaleBarUnit } from './ScaleBarControl';
27
+ export { SideMenuPanel, SideMenuToggle } from './SideMenuPanel';
28
+ export type { SideMenuPanelProps, SideMenuPanelItem, SideMenuToggleProps, } from './SideMenuPanel';
21
29
  export { MeasurePanel } from './MeasurePanel';
22
30
  export type { MeasurePanelProps } from './MeasurePanel';
23
31
  export { SelectionPanel } from './SelectionPanel';
24
32
  export type { SelectionPanelProps } from './SelectionPanel';
25
33
  export { SearchPanel } from './SearchPanel';
26
34
  export type { SearchPanelProps } from './SearchPanel';
35
+ export { PropertyFilterPanel } from './PropertyFilterPanel';
36
+ export type { PropertyFilterPanelProps } from './PropertyFilterPanel';
37
+ export { GlobalSearchBar } from './GlobalSearchBar';
38
+ export type { GlobalSearchBarProps, FeatureMatch as GlobalSearchFeatureMatch, GroupedResults as GlobalSearchGroupedResults, } from './GlobalSearchBar';
27
39
  export { ResultsDrawer } from './ResultsDrawer';
28
- export type { ResultsDrawerProps, ResultsDrawerTab } from './ResultsDrawer';
40
+ export type { ResultsDrawerProps, ResultsDrawerTab, ResultsDrawerSort, SortDirection, } from './ResultsDrawer';
29
41
  export { FormField, ColorPicker, ConfirmDialog, CollapsibleSection } from './admin';
30
42
  export type { FormFieldProps, ColorPickerProps, ConfirmDialogProps, CollapsibleSectionProps } from './admin';
31
- export { SourceEditor, SourceList } from './SourceEditor';
43
+ export { SourceEditor, SourceList, isFeatureSource, isSourceType } from './SourceEditor';
32
44
  export type { SourceEditorProps, SourceListProps } from './SourceEditor';
33
45
  export { CollectionBrowser } from './CollectionBrowser';
34
46
  export type { CollectionBrowserProps } from './CollectionBrowser';
@@ -38,10 +50,12 @@ export { LegendEntryEditor, LegendEditor } from './LegendEditor';
38
50
  export type { LegendEntryEditorProps, LegendEditorProps } from './LegendEditor';
39
51
  export { SearchFieldEditor, SearchFieldList } from './SearchFieldEditor';
40
52
  export type { SearchFieldEditorProps, SearchFieldListProps } from './SearchFieldEditor';
53
+ export { GlobalSearchConfigEditor } from './GlobalSearchConfigEditor';
54
+ export type { GlobalSearchConfigEditorProps } from './GlobalSearchConfigEditor';
41
55
  export { PropertyDisplayEditor } from './PropertyDisplayEditor';
42
56
  export type { PropertyDisplayEditorProps } from './PropertyDisplayEditor';
43
57
  export { LayerEditor, LayerList } from './LayerEditor';
44
- export type { LayerEditorProps, LayerListProps } from './LayerEditor';
58
+ export type { LayerEditorProps, LayerEditorSection, LayerListProps } from './LayerEditor';
45
59
  export { ImageryEditor, ImageryList, slugify } from './ImageryEditor';
46
60
  export type { ImageryEditorProps, ImageryListProps } from './ImageryEditor';
47
61
  export { BasemapEditor, BasemapList } from './BasemapEditor';
@@ -58,4 +72,7 @@ export { Cql2FilterEditor } from './Cql2FilterEditor';
58
72
  export type { Cql2FilterEditorProps } from './Cql2FilterEditor';
59
73
  export { QueryPanel } from './QueryPanel';
60
74
  export type { QueryPanelProps } from './QueryPanel';
75
+ export { UserMenu } from './UserMenu';
76
+ export type { UserMenuProps, UserMenuItem } from './UserMenu';
77
+ export { CONTROL_ICON_MAP, CONTROL_ICON_NAMES, getControlIcon } from './shared/controlIcons';
61
78
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { IconType } from 'react-icons';
2
+ /**
3
+ * Map of icon name → component used by `UIConfigEditor` (icon picker) and
4
+ * `MapOverlay` (icon resolution) so admins can pick a custom icon per control.
5
+ */
6
+ export declare const CONTROL_ICON_MAP: Record<string, IconType>;
7
+ export declare const CONTROL_ICON_NAMES: string[];
8
+ /** Resolve a control icon by name, falling back to `fallback` if not found. */
9
+ export declare function getControlIcon(name: string | undefined, fallback: IconType): IconType;
10
+ //# sourceMappingURL=controlIcons.d.ts.map