qwc2 2025.10.9 → 2025.10.14

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 (241) hide show
  1. package/actions/display.js +30 -1
  2. package/actions/editing.js +22 -1
  3. package/actions/layerinfo.js +13 -1
  4. package/actions/layers.js +213 -3
  5. package/actions/localConfig.js +58 -1
  6. package/actions/locale.js +21 -1
  7. package/actions/locate.js +26 -1
  8. package/actions/logging.js +10 -1
  9. package/actions/map.js +105 -2
  10. package/actions/measurement.js +12 -1
  11. package/actions/processNotifications.js +37 -1
  12. package/actions/redlining.js +18 -1
  13. package/actions/redliningPick.js +12 -1
  14. package/actions/search.js +12 -1
  15. package/actions/serviceinfo.js +12 -1
  16. package/actions/task.js +55 -3
  17. package/actions/theme.js +339 -19
  18. package/actions/windows.js +164 -5
  19. package/components/AppMenu.js +435 -3
  20. package/components/AttributeForm.js +928 -32
  21. package/components/AttributeTableWidget.js +1105 -13
  22. package/components/AutoEditForm.js +189 -3
  23. package/components/CoordinateDisplayer.js +78 -2
  24. package/components/EditComboField.js +190 -6
  25. package/components/EditUploadField.js +315 -3
  26. package/components/ExportSelection.js +203 -2
  27. package/components/FullscreenSwitcher.js +90 -3
  28. package/components/Icon.js +81 -2
  29. package/components/IdentifyViewer.js +1161 -6
  30. package/components/ImportLayer.js +718 -20
  31. package/components/LayerInfoWindow.js +145 -2
  32. package/components/LinkFeatureForm.js +246 -5
  33. package/components/MapButton.js +88 -2
  34. package/components/MapSelection.js +287 -8
  35. package/components/MessageBar.js +68 -2
  36. package/components/NumericInputWindow.js +359 -2
  37. package/components/PickFeature.js +266 -2
  38. package/components/PluginsContainer.js +227 -8
  39. package/components/PrintSelection.js +620 -49
  40. package/components/ProcessNotifications.js +104 -2
  41. package/components/QtDesignerForm.js +1137 -18
  42. package/components/ResizeableWindow.js +591 -8
  43. package/components/SearchBox.js +1307 -20
  44. package/components/ServiceInfoWindow.js +107 -2
  45. package/components/SideBar.js +204 -4
  46. package/components/StandardApp.js +381 -20
  47. package/components/Swipeable.js +15 -1
  48. package/components/TaskBar.js +85 -2
  49. package/components/ThemeLayersListWindow.js +216 -4
  50. package/components/ThemeList.js +381 -7
  51. package/components/Toolbar.js +106 -2
  52. package/components/WindowManager.js +178 -2
  53. package/components/map/OlLayer.js +257 -6
  54. package/components/map/OlMap.js +405 -5
  55. package/components/map/layers/BingLayer.js +31 -2
  56. package/components/map/layers/GoogleLayer.js +222 -19
  57. package/components/map/layers/GraticuleLayer.js +21 -1
  58. package/components/map/layers/ImageLayer.js +15 -1
  59. package/components/map/layers/MVTLayer.js +52 -2
  60. package/components/map/layers/OSMLayer.js +24 -2
  61. package/components/map/layers/OverlayLayer.js +55 -3
  62. package/components/map/layers/VectorLayer.js +173 -8
  63. package/components/map/layers/WFSLayer.js +220 -6
  64. package/components/map/layers/WMSLayer.js +180 -6
  65. package/components/map/layers/WMTSLayer.js +67 -3
  66. package/components/map/layers/XYZLayer.js +24 -2
  67. package/components/map/layers/index.js +28 -1
  68. package/components/map3d/EditDataset3D.js +190 -3
  69. package/components/map3d/HeightProfile3D.js +402 -3
  70. package/components/map3d/ImportObjects3D.js +162 -2
  71. package/components/map3d/Map3D.js +1304 -38
  72. package/components/map3d/MapControls3D.js +392 -7
  73. package/components/map3d/SearchField3D.js +183 -11
  74. package/components/map3d/View3DSwitcher.js +98 -2
  75. package/components/map3d/drawtool/CreateTool3D.js +174 -4
  76. package/components/map3d/drawtool/EditTool3D.js +590 -6
  77. package/components/map3d/drawtool/NumericInput3D.js +336 -4
  78. package/components/map3d/layers/GeoTIFFLayer3D.js +15 -1
  79. package/components/map3d/layers/VectorLayer3D.js +53 -2
  80. package/components/map3d/layers/WFSLayer3D.js +109 -3
  81. package/components/map3d/layers/WMSLayer3D.js +70 -2
  82. package/components/map3d/layers/WMTSLayer3D.js +27 -3
  83. package/components/map3d/layers/index.js +14 -1
  84. package/components/map3d/utils/FirstPersonControls3D.js +423 -16
  85. package/components/map3d/utils/MiscUtils3D.js +221 -13
  86. package/components/map3d/utils/OrbitControls3D.js +176 -5
  87. package/components/map3d/utils/Tiles3DStyle.js +238 -9
  88. package/components/share/ShareLink.js +54 -2
  89. package/components/share/ShareQRCode.js +62 -2
  90. package/components/share/ShareSocials.js +125 -3
  91. package/components/timeline/FixedTimeline.js +236 -5
  92. package/components/timeline/InfiniteTimeline.js +347 -8
  93. package/components/timeline/TimelineFeaturesSlider.js +439 -5
  94. package/components/widgets/AccordeonWidget.js +96 -2
  95. package/components/widgets/ButtonBar.js +124 -2
  96. package/components/widgets/ColorButton.js +201 -3
  97. package/components/widgets/ComboBox.js +166 -2
  98. package/components/widgets/CopyButton.js +110 -2
  99. package/components/widgets/DateTimeInput.js +100 -3
  100. package/components/widgets/EditableSelect.js +230 -3
  101. package/components/widgets/FileSelector.js +128 -4
  102. package/components/widgets/Input.js +124 -2
  103. package/components/widgets/InputContainer.js +96 -2
  104. package/components/widgets/LayerCatalogWidget.js +219 -3
  105. package/components/widgets/MenuButton.js +157 -1
  106. package/components/widgets/ModalDialog.js +64 -2
  107. package/components/widgets/NavBar.js +119 -2
  108. package/components/widgets/NumberInput.js +226 -4
  109. package/components/widgets/PopupMenu.js +72 -1
  110. package/components/widgets/Primitives.js +6 -1
  111. package/components/widgets/ReCaptchaWidget.js +55 -1
  112. package/components/widgets/SearchWidget.js +255 -2
  113. package/components/widgets/Spinner.js +44 -2
  114. package/components/widgets/SuggestionInput.js +77 -2
  115. package/components/widgets/TextInput.js +308 -2
  116. package/components/widgets/ToggleSwitch.js +85 -2
  117. package/components/widgets/VectorLayerPicker.js +85 -3
  118. package/libs/openlayers.js +225 -5
  119. package/package.json +1 -1
  120. package/plugins/API.js +358 -15
  121. package/plugins/AttributeTable.js +109 -3
  122. package/plugins/Authentication.js +130 -5
  123. package/plugins/BackgroundSwitcher.js +218 -4
  124. package/plugins/Bookmark.js +289 -3
  125. package/plugins/BottomBar.js +298 -4
  126. package/plugins/CookiePopup.js +67 -3
  127. package/plugins/Cyclomedia.js +442 -5
  128. package/plugins/Editing.js +497 -9
  129. package/plugins/FeatureForm.js +366 -4
  130. package/plugins/FeatureSearch.js +458 -3
  131. package/plugins/GeometryDigitizer.js +664 -7
  132. package/plugins/HeightProfile.js +763 -15
  133. package/plugins/Help.js +102 -3
  134. package/plugins/HomeButton.js +80 -3
  135. package/plugins/Identify.js +543 -5
  136. package/plugins/LayerCatalog.js +215 -4
  137. package/plugins/LayerTree.js +1194 -6
  138. package/plugins/LocateButton.js +94 -3
  139. package/plugins/Map.js +320 -16
  140. package/plugins/MapCompare.js +94 -3
  141. package/plugins/MapCopyright.js +127 -5
  142. package/plugins/MapExport.js +613 -20
  143. package/plugins/MapFilter.js +868 -12
  144. package/plugins/MapInfoTooltip.js +277 -3
  145. package/plugins/MapLegend.js +253 -4
  146. package/plugins/MapTip.js +290 -4
  147. package/plugins/Measure.js +220 -4
  148. package/plugins/NewsPopup.js +137 -3
  149. package/plugins/OverviewMap.js +167 -7
  150. package/plugins/Panoramax.js +340 -2
  151. package/plugins/Portal.js +199 -4
  152. package/plugins/Print.js +1231 -15
  153. package/plugins/Redlining.js +750 -6
  154. package/plugins/Reports.js +332 -3
  155. package/plugins/Routing.js +1278 -15
  156. package/plugins/ScratchDrawing.js +173 -5
  157. package/plugins/Settings.js +241 -4
  158. package/plugins/Share.js +198 -3
  159. package/plugins/StartupMarker.js +84 -4
  160. package/plugins/TaskButton.js +88 -3
  161. package/plugins/ThemeSwitcher.js +164 -4
  162. package/plugins/TimeManager.js +971 -10
  163. package/plugins/TopBar.js +300 -7
  164. package/plugins/TourGuide.js +213 -2
  165. package/plugins/ValueTool.js +419 -4
  166. package/plugins/View3D.js +519 -14
  167. package/plugins/ZoomButtons.js +165 -3
  168. package/plugins/map/EditingSupport.js +199 -7
  169. package/plugins/map/LocateSupport.js +260 -4
  170. package/plugins/map/MeasurementSupport.js +216 -8
  171. package/plugins/map/RedliningPickSupport.js +201 -7
  172. package/plugins/map/RedliningSupport.js +726 -17
  173. package/plugins/map/SnapInteraction.js +101 -1
  174. package/plugins/map/SnapSupport.js +210 -2
  175. package/plugins/map/SnappingSupport.js +356 -17
  176. package/plugins/map3d/BackgroundSwitcher3D.js +44 -3
  177. package/plugins/map3d/BottomBar3D.js +118 -3
  178. package/plugins/map3d/Compare3D.js +422 -8
  179. package/plugins/map3d/Draw3D.js +353 -6
  180. package/plugins/map3d/ExportObjects3D.js +393 -18
  181. package/plugins/map3d/HideObjects3D.js +313 -12
  182. package/plugins/map3d/Identify3D.js +283 -12
  183. package/plugins/map3d/LayerTree3D.js +323 -3
  184. package/plugins/map3d/MapCopyright3D.js +128 -5
  185. package/plugins/map3d/MapExport3D.js +590 -10
  186. package/plugins/map3d/MapLight3D.js +553 -6
  187. package/plugins/map3d/Measure3D.js +571 -20
  188. package/plugins/map3d/OverviewMap3D.js +169 -3
  189. package/plugins/map3d/Settings3D.js +73 -3
  190. package/plugins/map3d/TopBar3D.js +207 -9
  191. package/plugins/redlining/RedliningBufferSupport.js +206 -3
  192. package/reducers/display.js +34 -2
  193. package/reducers/editing.js +68 -3
  194. package/reducers/index.js +9 -1
  195. package/reducers/layerinfo.js +26 -2
  196. package/reducers/layers.js +456 -9
  197. package/reducers/localConfig.js +122 -2
  198. package/reducers/locale.js +38 -2
  199. package/reducers/locate.js +40 -2
  200. package/reducers/map.js +176 -5
  201. package/reducers/measurement.js +42 -2
  202. package/reducers/processNotifications.js +49 -2
  203. package/reducers/redlining.js +50 -2
  204. package/reducers/redliningPick.js +27 -2
  205. package/reducers/search.js +20 -1
  206. package/reducers/serviceinfo.js +25 -2
  207. package/reducers/task.js +45 -2
  208. package/reducers/theme.js +51 -2
  209. package/reducers/windows.js +203 -2
  210. package/scripts/dist.sh +1 -1
  211. package/scripts/gen-plugin-docs.js +152 -2
  212. package/scripts/makeIconkit.js +85 -6
  213. package/scripts/themesConfig.js +742 -40
  214. package/scripts/updateTranslations.js +251 -10
  215. package/selectors/searchproviders.js +44 -2
  216. package/stores/StandardStore.js +42 -2
  217. package/utils/ConfigUtils.js +84 -3
  218. package/utils/CoordinatesUtils.js +234 -23
  219. package/utils/DxfUtils.js +237 -11
  220. package/utils/EditingInterface.js +421 -87
  221. package/utils/EditingUtils.js +357 -13
  222. package/utils/ElevationInterface.js +83 -22
  223. package/utils/FeatureStyles.js +429 -5
  224. package/utils/IdentifyUtils.js +443 -7
  225. package/utils/ImageEditor.js +79 -9
  226. package/utils/LayerUtils.js +1516 -50
  227. package/utils/LocaleUtils.js +117 -7
  228. package/utils/MapUtils.js +241 -59
  229. package/utils/MeasureUtils.js +323 -2
  230. package/utils/MiscUtils.js +189 -11
  231. package/utils/PermaLinkUtils.js +429 -6
  232. package/utils/PluginStore.js +27 -1
  233. package/utils/ResourceRegistry.js +15 -1
  234. package/utils/RoutingInterface.js +307 -7
  235. package/utils/SearchProviders.js +722 -19
  236. package/utils/ServiceLayerUtils.js +669 -14
  237. package/utils/Signal.js +32 -2
  238. package/utils/ThemeUtils.js +341 -7
  239. package/utils/VectorLayerUtils.js +589 -15
  240. package/utils/expr_grammar/grammar.js +2239 -2
  241. package/utils/expr_grammar/test.js +65 -3
@@ -1,7 +1,129 @@
1
- function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o)}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e))}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_getPrototypeOf(t)}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e)}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}/**
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
3
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
4
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
5
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
6
+ function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
7
+ function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
8
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
9
+ function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
10
+ function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
11
+ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
12
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
14
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
+ /**
2
16
  * Copyright 2017-2024 Sourcepole AG
3
17
  * All rights reserved.
4
18
  *
5
19
  * This source code is licensed under the BSD-style license found in the
6
20
  * LICENSE file in the root directory of this source tree.
7
- */import React from"react";import classnames from"classnames";import isEmpty from"lodash.isempty";import PropTypes from"prop-types";import ConfigUtils from"../../utils/ConfigUtils";import Icon from"../Icon";import MenuButton from"./MenuButton";import"./style/ButtonBar.css";var ButtonPropShape=PropTypes.shape({key:PropTypes.string,label:PropTypes.string,forceLabel:PropTypes.bool,tooltip:PropTypes.string,icon:PropTypes.string,data:PropTypes.object,extraClasses:PropTypes.string,type:PropTypes.string,disabled:PropTypes.bool});var ButtonBar=/*#__PURE__*/function(_React$Component){function ButtonBar(){_classCallCheck(this,ButtonBar);return _callSuper(this,ButtonBar,arguments)}_inherits(ButtonBar,_React$Component);return _createClass(ButtonBar,[{key:"render",value:function render(){var _this=this;var isMobile=ConfigUtils.isMobile();return/*#__PURE__*/React.createElement("div",{className:"ButtonBar controlgroup "+this.props.className+(this.props.disabled?" buttonbar-disabled":"")},this.props.buttons.map(function(entry,idx){if(Array.isArray(entry)&&entry.length>1){var active=entry.find(function(e){return e.key===_this.props.active})!==undefined?_this.props.active:null;return/*#__PURE__*/React.createElement(MenuButton,{active:active,className:"buttonbar-combo",key:"combo"+idx,onActivate:function onActivate(value){return _this.props.onClick(value,entry.find(function(e){return e.key===value}).data)}},entry.map(function(comboentry){return/*#__PURE__*/React.createElement("div",{className:"buttonbar-combo-entry",key:comboentry.key,onClick:function onClick(){return _this.props.onClick(comboentry.key,comboentry.data)},value:comboentry.key},comboentry.icon?/*#__PURE__*/React.createElement(Icon,{icon:comboentry.icon}):null,comboentry.label&&(!isMobile||!comboentry.icon||_this.props.forceLabel||comboentry.forceLabel)?/*#__PURE__*/React.createElement("span",{className:"buttonbar-combo-entry-label"},comboentry.label):null,comboentry.tooltip?/*#__PURE__*/React.createElement("span",{className:"buttonbar-button-tooltip "+("buttonbar-button-tooltip-"+_this.props.tooltipPos)},comboentry.tooltip):null)}))}else if(!isEmpty(entry)){if(Array.isArray(entry)){entry=entry[0]}var classes=classnames({button:true,pressed:_this.props.active===entry.key||entry.pressed});classes+=entry.extraClasses?" "+entry.extraClasses:"";return/*#__PURE__*/React.createElement("div",{className:"buttonbar-button-container",key:entry.key},/*#__PURE__*/React.createElement("button",{className:classes,disabled:entry.disabled||_this.props.disabled,onClick:entry.type!=="submit"?function(){return _this.props.onClick(entry.key,entry.data)}:null,type:entry.type||"button"},entry.icon?/*#__PURE__*/React.createElement(Icon,{icon:entry.icon}):null,entry.label&&(!isMobile||!entry.icon||_this.props.forceLabel||entry.forceLabel)?/*#__PURE__*/React.createElement("span",null,entry.label):null),entry.tooltip?/*#__PURE__*/React.createElement("span",{className:"buttonbar-button-tooltip "+("buttonbar-button-tooltip-"+_this.props.tooltipPos)},entry.tooltip):null)}else{return null}}))}}])}(React.Component);_defineProperty(ButtonBar,"propTypes",{active:PropTypes.string,buttons:PropTypes.arrayOf(PropTypes.oneOfType([ButtonPropShape,PropTypes.arrayOf(ButtonPropShape)])),className:PropTypes.string,disabled:PropTypes.bool,forceLabel:PropTypes.bool,onClick:PropTypes.func,tooltipPos:PropTypes.string});_defineProperty(ButtonBar,"defaultProps",{className:"",tooltipPos:"bottom"});export{ButtonBar as default};
21
+ */
22
+
23
+ import React from 'react';
24
+ import classnames from 'classnames';
25
+ import isEmpty from 'lodash.isempty';
26
+ import PropTypes from 'prop-types';
27
+ import ConfigUtils from '../../utils/ConfigUtils';
28
+ import Icon from '../Icon';
29
+ import MenuButton from './MenuButton';
30
+ import './style/ButtonBar.css';
31
+ var ButtonPropShape = PropTypes.shape({
32
+ key: PropTypes.string,
33
+ label: PropTypes.string,
34
+ forceLabel: PropTypes.bool,
35
+ tooltip: PropTypes.string,
36
+ icon: PropTypes.string,
37
+ data: PropTypes.object,
38
+ extraClasses: PropTypes.string,
39
+ type: PropTypes.string,
40
+ disabled: PropTypes.bool
41
+ });
42
+ var ButtonBar = /*#__PURE__*/function (_React$Component) {
43
+ function ButtonBar() {
44
+ _classCallCheck(this, ButtonBar);
45
+ return _callSuper(this, ButtonBar, arguments);
46
+ }
47
+ _inherits(ButtonBar, _React$Component);
48
+ return _createClass(ButtonBar, [{
49
+ key: "render",
50
+ value: function render() {
51
+ var _this = this;
52
+ var isMobile = ConfigUtils.isMobile();
53
+ return /*#__PURE__*/React.createElement("div", {
54
+ className: "ButtonBar controlgroup " + this.props.className + (this.props.disabled ? " buttonbar-disabled" : "")
55
+ }, this.props.buttons.map(function (entry, idx) {
56
+ if (Array.isArray(entry) && entry.length > 1) {
57
+ var active = entry.find(function (e) {
58
+ return e.key === _this.props.active;
59
+ }) !== undefined ? _this.props.active : null;
60
+ return /*#__PURE__*/React.createElement(MenuButton, {
61
+ active: active,
62
+ className: "buttonbar-combo",
63
+ key: "combo" + idx,
64
+ onActivate: function onActivate(value) {
65
+ return _this.props.onClick(value, entry.find(function (e) {
66
+ return e.key === value;
67
+ }).data);
68
+ }
69
+ }, entry.map(function (comboentry) {
70
+ return /*#__PURE__*/React.createElement("div", {
71
+ className: "buttonbar-combo-entry",
72
+ key: comboentry.key,
73
+ onClick: function onClick() {
74
+ return _this.props.onClick(comboentry.key, comboentry.data);
75
+ },
76
+ value: comboentry.key
77
+ }, comboentry.icon ? /*#__PURE__*/React.createElement(Icon, {
78
+ icon: comboentry.icon
79
+ }) : null, comboentry.label && (!isMobile || !comboentry.icon || _this.props.forceLabel || comboentry.forceLabel) ? /*#__PURE__*/React.createElement("span", {
80
+ className: "buttonbar-combo-entry-label"
81
+ }, comboentry.label) : null, comboentry.tooltip ? /*#__PURE__*/React.createElement("span", {
82
+ className: "buttonbar-button-tooltip " + ("buttonbar-button-tooltip-" + _this.props.tooltipPos)
83
+ }, comboentry.tooltip) : null);
84
+ }));
85
+ } else if (!isEmpty(entry)) {
86
+ if (Array.isArray(entry)) {
87
+ entry = entry[0];
88
+ }
89
+ var classes = classnames({
90
+ button: true,
91
+ pressed: _this.props.active === entry.key || entry.pressed
92
+ });
93
+ classes += entry.extraClasses ? ' ' + entry.extraClasses : '';
94
+ return /*#__PURE__*/React.createElement("div", {
95
+ className: "buttonbar-button-container",
96
+ key: entry.key
97
+ }, /*#__PURE__*/React.createElement("button", {
98
+ className: classes,
99
+ disabled: entry.disabled || _this.props.disabled,
100
+ onClick: entry.type !== "submit" ? function () {
101
+ return _this.props.onClick(entry.key, entry.data);
102
+ } : null,
103
+ type: entry.type || "button"
104
+ }, entry.icon ? /*#__PURE__*/React.createElement(Icon, {
105
+ icon: entry.icon
106
+ }) : null, entry.label && (!isMobile || !entry.icon || _this.props.forceLabel || entry.forceLabel) ? /*#__PURE__*/React.createElement("span", null, entry.label) : null), entry.tooltip ? /*#__PURE__*/React.createElement("span", {
107
+ className: "buttonbar-button-tooltip " + ("buttonbar-button-tooltip-" + _this.props.tooltipPos)
108
+ }, entry.tooltip) : null);
109
+ } else {
110
+ return null;
111
+ }
112
+ }));
113
+ }
114
+ }]);
115
+ }(React.Component);
116
+ _defineProperty(ButtonBar, "propTypes", {
117
+ active: PropTypes.string,
118
+ buttons: PropTypes.arrayOf(PropTypes.oneOfType([ButtonPropShape, PropTypes.arrayOf(ButtonPropShape)])),
119
+ className: PropTypes.string,
120
+ disabled: PropTypes.bool,
121
+ forceLabel: PropTypes.bool,
122
+ onClick: PropTypes.func,
123
+ tooltipPos: PropTypes.string
124
+ });
125
+ _defineProperty(ButtonBar, "defaultProps", {
126
+ className: "",
127
+ tooltipPos: 'bottom'
128
+ });
129
+ export { ButtonBar as default };
@@ -1,8 +1,206 @@
1
- function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o)}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e))}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_getPrototypeOf(t)}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e)}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}/**
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
3
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
5
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
6
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
7
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
8
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
9
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
10
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
11
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
12
+ function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
13
+ function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
14
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
15
+ function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
16
+ function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
17
+ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
18
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
19
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
20
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
21
+ /**
2
22
  * Copyright 2018-2024 Sourcepole AG
3
23
  * All rights reserved.
4
24
  *
5
25
  * This source code is licensed under the BSD-style license found in the
6
26
  * LICENSE file in the root directory of this source tree.
7
- */import React from"react";import{ColorPicker}from"@vtaits/react-color-picker";import PropTypes from"prop-types";import"./style/ColorButton.css";import"@vtaits/react-color-picker/index.css";var defaultColors=[// [r, g, b, a]
8
- [255,255,255,1],[0,0,0,1],[255,105,0,1],[252,185,0,1],[0,208,132,1],[142,209,252,1],[6,147,227,1],[171,184,195,1],[235,20,76,1],[247,141,167,1]];var ColorButton=/*#__PURE__*/function(_React$Component){function ColorButton(props){var _this;_classCallCheck(this,ColorButton);_this=_callSuper(this,ColorButton,[props]);_defineProperty(_this,"state",{colors:defaultColors});_defineProperty(_this,"togglePicker",function(ev){if(!_this.state.pickerVisible){document.addEventListener("click",_this.checkClosePicker)}else{document.removeEventListener("click",_this.checkClosePicker)}ev.stopPropagation();_this.setState(function(state){return{hexStr:null,pickerVisible:!state.pickerVisible}})});_defineProperty(_this,"checkClosePicker",function(ev){if(_this.pickerEl&&!_this.pickerEl.contains(ev.target)){_this.togglePicker(ev)}});_defineProperty(_this,"selectColor",function(idx){_this.setState({hexStr:null});var n=_this.props.alpha?4:3;_this.props.onColorChanged(_toConsumableArray(_this.state.colors[idx]).slice(0,n))});_defineProperty(_this,"replaceDefaultColor",function(ev,idx){_this.setState(function(state){var newColors=_toConsumableArray(state.colors);newColors[idx]=_toConsumableArray(_this.props.color);return{colors:newColors}});_this.forceUpdate();ev.preventDefault()});_defineProperty(_this,"changeColor",function(hexStr){var match=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hexStr);if(match){var newColor=[parseInt(match[1],16),parseInt(match[2],16),parseInt(match[3],16),_this.props.color[3]];_this.setState({hexStr:null});var n=_this.props.alpha?4:3;_this.props.onColorChanged(newColor.slice(0,n))}else{_this.setState({hexStr:hexStr})}});_defineProperty(_this,"changeColorAlpha",function(alpha){var newColor=[].concat(_toConsumableArray(_this.props.color.slice(0,3)),[parseFloat(alpha)]);_this.props.onColorChanged(newColor)});_this.state={pickerVisible:false,hexStr:null};_this.pickerEl=null;_this.state.colors=props.defaultColors;return _this}_inherits(ColorButton,_React$Component);return _createClass(ColorButton,[{key:"render",value:function render(){var _this2=this;var pickerStyle={visibility:this.state.pickerVisible?"visible":"hidden"};var curColor=this.props.color;return/*#__PURE__*/React.createElement("div",{className:"ColorButton"},/*#__PURE__*/React.createElement("div",{className:"colorbutton-icon",onClick:this.togglePicker},/*#__PURE__*/React.createElement("span",{style:{backgroundColor:this.cssColor(curColor)}})),/*#__PURE__*/React.createElement("div",{className:"colorbutton-picker",ref:function ref(el){_this2.pickerEl=el},style:pickerStyle},/*#__PURE__*/React.createElement("div",{className:"colorbutton-picker-icons"},this.state.colors.map(function(color,idx){return/*#__PURE__*/React.createElement("div",{className:"colorbutton-icon",key:"color"+idx,onClick:function onClick(){return _this2.selectColor(idx)},onContextMenu:function onContextMenu(ev){return _this2.replaceDefaultColor(ev,idx)}},/*#__PURE__*/React.createElement("span",{style:{backgroundColor:_this2.cssColor(color)}}))})),/*#__PURE__*/React.createElement(ColorPicker,{className:"colorbutton-picker-spectrum",onDrag:this.changeColor,saturationHeight:150,value:this.cssColor(curColor)}),/*#__PURE__*/React.createElement("div",{className:"colorbutton-picker-input controlgroup"},/*#__PURE__*/React.createElement("div",{className:"colorbutton-icon"},/*#__PURE__*/React.createElement("span",{style:{backgroundColor:this.cssColor(curColor)}})),/*#__PURE__*/React.createElement("input",{onChange:function onChange(ev){return _this2.changeColor(ev.target.value)},type:"text",value:this.state.hexStr||this.hexColor(curColor)}),this.props.alpha?/*#__PURE__*/React.createElement("div",{className:"colorbutton-picker-alpha"},/*#__PURE__*/React.createElement("div",null,/*#__PURE__*/React.createElement("input",{max:"1",min:"0",onChange:function onChange(ev){return _this2.changeColorAlpha(ev.target.value)},step:"0.1",type:"range",value:curColor[3]}))):null)))}},{key:"cssColor",value:function cssColor(color){return"rgba("+color.join(",")+")"}},{key:"hexColor",value:function hexColor(color){return(16777216+(color[2]|color[1]<<8|color[0]<<16)).toString(16).slice(1).toUpperCase()}}])}(React.Component);_defineProperty(ColorButton,"propTypes",{alpha:PropTypes.bool,color:PropTypes.array,defaultColors:PropTypes.array,onColorChanged:PropTypes.func});_defineProperty(ColorButton,"defaultProps",{alpha:true,defaultColors:defaultColors,color:[255,255,255,1],onColorChanged:function onColorChanged(/* color */){}});export{ColorButton as default};
27
+ */
28
+
29
+ import React from 'react';
30
+ import { ColorPicker } from '@vtaits/react-color-picker';
31
+ import PropTypes from 'prop-types';
32
+ import './style/ColorButton.css';
33
+ import '@vtaits/react-color-picker/index.css';
34
+ var defaultColors = [
35
+ // [r, g, b, a]
36
+ [255, 255, 255, 1], [0, 0, 0, 1], [255, 105, 0, 1], [252, 185, 0, 1], [0, 208, 132, 1], [142, 209, 252, 1], [6, 147, 227, 1], [171, 184, 195, 1], [235, 20, 76, 1], [247, 141, 167, 1]];
37
+ var ColorButton = /*#__PURE__*/function (_React$Component) {
38
+ function ColorButton(props) {
39
+ var _this;
40
+ _classCallCheck(this, ColorButton);
41
+ _this = _callSuper(this, ColorButton, [props]);
42
+ _defineProperty(_this, "state", {
43
+ colors: defaultColors
44
+ });
45
+ _defineProperty(_this, "togglePicker", function (ev) {
46
+ if (!_this.state.pickerVisible) {
47
+ document.addEventListener('click', _this.checkClosePicker);
48
+ } else {
49
+ document.removeEventListener('click', _this.checkClosePicker);
50
+ }
51
+ ev.stopPropagation();
52
+ _this.setState(function (state) {
53
+ return {
54
+ hexStr: null,
55
+ pickerVisible: !state.pickerVisible
56
+ };
57
+ });
58
+ });
59
+ _defineProperty(_this, "checkClosePicker", function (ev) {
60
+ if (_this.pickerEl && !_this.pickerEl.contains(ev.target)) {
61
+ _this.togglePicker(ev);
62
+ }
63
+ });
64
+ _defineProperty(_this, "selectColor", function (idx) {
65
+ _this.setState({
66
+ hexStr: null
67
+ });
68
+ var n = _this.props.alpha ? 4 : 3;
69
+ _this.props.onColorChanged(_toConsumableArray(_this.state.colors[idx]).slice(0, n));
70
+ });
71
+ _defineProperty(_this, "replaceDefaultColor", function (ev, idx) {
72
+ _this.setState(function (state) {
73
+ var newColors = _toConsumableArray(state.colors);
74
+ newColors[idx] = _toConsumableArray(_this.props.color);
75
+ return {
76
+ colors: newColors
77
+ };
78
+ });
79
+ _this.forceUpdate();
80
+ ev.preventDefault();
81
+ });
82
+ _defineProperty(_this, "changeColor", function (hexStr) {
83
+ var match = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hexStr);
84
+ if (match) {
85
+ var newColor = [parseInt(match[1], 16), parseInt(match[2], 16), parseInt(match[3], 16), _this.props.color[3]];
86
+ _this.setState({
87
+ hexStr: null
88
+ });
89
+ var n = _this.props.alpha ? 4 : 3;
90
+ _this.props.onColorChanged(newColor.slice(0, n));
91
+ } else {
92
+ _this.setState({
93
+ hexStr: hexStr
94
+ });
95
+ }
96
+ });
97
+ _defineProperty(_this, "changeColorAlpha", function (alpha) {
98
+ var newColor = [].concat(_toConsumableArray(_this.props.color.slice(0, 3)), [parseFloat(alpha)]);
99
+ _this.props.onColorChanged(newColor);
100
+ });
101
+ _this.state = {
102
+ pickerVisible: false,
103
+ hexStr: null
104
+ };
105
+ _this.pickerEl = null;
106
+ _this.state.colors = props.defaultColors;
107
+ return _this;
108
+ }
109
+ _inherits(ColorButton, _React$Component);
110
+ return _createClass(ColorButton, [{
111
+ key: "render",
112
+ value: function render() {
113
+ var _this2 = this;
114
+ var pickerStyle = {
115
+ visibility: this.state.pickerVisible ? 'visible' : 'hidden'
116
+ };
117
+ var curColor = this.props.color;
118
+ return /*#__PURE__*/React.createElement("div", {
119
+ className: "ColorButton"
120
+ }, /*#__PURE__*/React.createElement("div", {
121
+ className: "colorbutton-icon",
122
+ onClick: this.togglePicker
123
+ }, /*#__PURE__*/React.createElement("span", {
124
+ style: {
125
+ backgroundColor: this.cssColor(curColor)
126
+ }
127
+ })), /*#__PURE__*/React.createElement("div", {
128
+ className: "colorbutton-picker",
129
+ ref: function ref(el) {
130
+ _this2.pickerEl = el;
131
+ },
132
+ style: pickerStyle
133
+ }, /*#__PURE__*/React.createElement("div", {
134
+ className: "colorbutton-picker-icons"
135
+ }, this.state.colors.map(function (color, idx) {
136
+ return /*#__PURE__*/React.createElement("div", {
137
+ className: "colorbutton-icon",
138
+ key: "color" + idx,
139
+ onClick: function onClick() {
140
+ return _this2.selectColor(idx);
141
+ },
142
+ onContextMenu: function onContextMenu(ev) {
143
+ return _this2.replaceDefaultColor(ev, idx);
144
+ }
145
+ }, /*#__PURE__*/React.createElement("span", {
146
+ style: {
147
+ backgroundColor: _this2.cssColor(color)
148
+ }
149
+ }));
150
+ })), /*#__PURE__*/React.createElement(ColorPicker, {
151
+ className: "colorbutton-picker-spectrum",
152
+ onDrag: this.changeColor,
153
+ saturationHeight: 150,
154
+ value: this.cssColor(curColor)
155
+ }), /*#__PURE__*/React.createElement("div", {
156
+ className: "colorbutton-picker-input controlgroup"
157
+ }, /*#__PURE__*/React.createElement("div", {
158
+ className: "colorbutton-icon"
159
+ }, /*#__PURE__*/React.createElement("span", {
160
+ style: {
161
+ backgroundColor: this.cssColor(curColor)
162
+ }
163
+ })), /*#__PURE__*/React.createElement("input", {
164
+ onChange: function onChange(ev) {
165
+ return _this2.changeColor(ev.target.value);
166
+ },
167
+ type: "text",
168
+ value: this.state.hexStr || this.hexColor(curColor)
169
+ }), this.props.alpha ? /*#__PURE__*/React.createElement("div", {
170
+ className: "colorbutton-picker-alpha"
171
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("input", {
172
+ max: "1",
173
+ min: "0",
174
+ onChange: function onChange(ev) {
175
+ return _this2.changeColorAlpha(ev.target.value);
176
+ },
177
+ step: "0.1",
178
+ type: "range",
179
+ value: curColor[3]
180
+ }))) : null)));
181
+ }
182
+ }, {
183
+ key: "cssColor",
184
+ value: function cssColor(color) {
185
+ return "rgba(" + color.join(",") + ")";
186
+ }
187
+ }, {
188
+ key: "hexColor",
189
+ value: function hexColor(color) {
190
+ return (0x1000000 + (color[2] | color[1] << 8 | color[0] << 16)).toString(16).slice(1).toUpperCase();
191
+ }
192
+ }]);
193
+ }(React.Component);
194
+ _defineProperty(ColorButton, "propTypes", {
195
+ alpha: PropTypes.bool,
196
+ color: PropTypes.array,
197
+ defaultColors: PropTypes.array,
198
+ onColorChanged: PropTypes.func
199
+ });
200
+ _defineProperty(ColorButton, "defaultProps", {
201
+ alpha: true,
202
+ defaultColors: defaultColors,
203
+ color: [255, 255, 255, 1],
204
+ onColorChanged: function onColorChanged(/* color */) {}
205
+ });
206
+ export { ColorButton as default };
@@ -1,7 +1,171 @@
1
- function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o)}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e))}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_getPrototypeOf(t)}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e)}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}/**
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
3
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
5
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
6
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
7
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
8
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
9
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
10
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
11
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
12
+ function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
13
+ function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
14
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
15
+ function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
16
+ function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
17
+ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
18
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
19
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
20
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
21
+ /**
2
22
  * Copyright 2024 Sourcepole AG
3
23
  * All rights reserved.
4
24
  *
5
25
  * This source code is licensed under the BSD-style license found in the
6
26
  * LICENSE file in the root directory of this source tree.
7
- */import React from"react";import classnames from"classnames";import{remove as removeDiacritics}from"diacritics";import isEmpty from"lodash.isempty";import PropTypes from"prop-types";import MiscUtils from"../../utils/MiscUtils";import Icon from"../Icon";import PopupMenu from"./PopupMenu";import"./style/ComboBox.css";var ComboBox=/*#__PURE__*/function(_React$Component){function ComboBox(props){var _this;_classCallCheck(this,ComboBox);_this=_callSuper(this,ComboBox,[props]);_defineProperty(_this,"state",{popup:false,expanded:[],filter:""});_defineProperty(_this,"filterChanged",function(ev){_this.setState({filter:ev.target.value});_this.props.onChange("")});_defineProperty(_this,"onChildClicked",function(ev,child){_this.setState({filter:""});if(child.props["data-group-header"]!==undefined){MiscUtils.killEvent(ev);_this.setState(function(state){var groupid=child.props["data-group-header"];if(state.expanded.includes(groupid)){return{expanded:state.expanded.filter(function(x){return x!==groupid})}}else{return{expanded:[].concat(_toConsumableArray(state.expanded),[groupid])}}})}else if(!child.props.disabled){_this.props.onChange(child.props.value)}});_this.el=null;return _this}_inherits(ComboBox,_React$Component);return _createClass(ComboBox,[{key:"render",value:function render(){var _this2=this;var children=React.Children.toArray(this.props.children);var rect=this.el?this.el.getBoundingClientRect():null;var activeOption=children.filter(function(child){return child.props.value===_this2.props.value});if(activeOption.length===0){if(!this.state.filter){activeOption=/*#__PURE__*/React.createElement("span",null,this.props.placeholder)}else{activeOption=/*#__PURE__*/React.createElement("span",null,"\xA0")}}var filter=this.state.filter?new RegExp(removeDiacritics(this.state.filter).replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&"),"i"):null;return/*#__PURE__*/React.createElement("div",{className:"combobox "+(this.props.className||""),ref:function ref(el){_this2.el=el}},/*#__PURE__*/React.createElement("div",{className:"combobox-button",onClick:this.props.readOnly||isEmpty(children)?null:function(){return _this2.setState({popup:true})}},/*#__PURE__*/React.createElement("span",{className:"combobox-button-content"},activeOption),this.props.filterable&&!this.props.readOnly?/*#__PURE__*/React.createElement("input",{className:"combobox-button-filter",onChange:this.filterChanged,type:"text",value:this.state.filter}):null,this.props.readOnly?null:/*#__PURE__*/React.createElement(Icon,{icon:"chevron-down"})),this.el&&this.state.popup?/*#__PURE__*/React.createElement(PopupMenu,{className:"combobox-menu"+(this.props.menuClassName?" "+this.props.menuClassName:""),onClose:function onClose(){return _this2.setState({popup:false})},width:rect.width,x:rect.left,y:rect.bottom},children.map(function(child,idx){var classNames=classnames({"combobox-menu-entry":true,"combobox-menu-entry-active":child.props.value===_this2.props.value&&!child.props.disabled,"combobox-menu-entry-disabled":child.props.disabled,"combobox-menu-entry-group-header":child.props["data-group-header"]!==undefined});if(child.props["data-group"]!==undefined&&!_this2.state.expanded.includes(child.props["data-group"])){return null}if(filter&&!removeDiacritics(child.props.title).match(filter)){return null}var expanderIcon=_this2.state.expanded.includes(child.props["data-group-header"])?"collapse":"expand";return/*#__PURE__*/React.createElement("div",{className:classNames,key:"child:"+idx,onClickCapture:function onClickCapture(ev){return _this2.onChildClicked(ev,child)}},child.props["data-group-header"]!==undefined?/*#__PURE__*/React.createElement(Icon,{icon:expanderIcon}):null,child)})):null)}}])}(React.Component);_defineProperty(ComboBox,"propTypes",{children:PropTypes.oneOfType([PropTypes.node,PropTypes.array]),className:PropTypes.string,filterable:PropTypes.bool,menuClassName:PropTypes.string,onChange:PropTypes.func,placeholder:PropTypes.string,readOnly:PropTypes.bool,value:PropTypes.string});_defineProperty(ComboBox,"defaultProps",{readOnly:false,placeholder:""});export{ComboBox as default};
27
+ */
28
+
29
+ import React from 'react';
30
+ import classnames from 'classnames';
31
+ import { remove as removeDiacritics } from 'diacritics';
32
+ import isEmpty from 'lodash.isempty';
33
+ import PropTypes from 'prop-types';
34
+ import MiscUtils from '../../utils/MiscUtils';
35
+ import Icon from '../Icon';
36
+ import PopupMenu from './PopupMenu';
37
+ import './style/ComboBox.css';
38
+ var ComboBox = /*#__PURE__*/function (_React$Component) {
39
+ function ComboBox(props) {
40
+ var _this;
41
+ _classCallCheck(this, ComboBox);
42
+ _this = _callSuper(this, ComboBox, [props]);
43
+ _defineProperty(_this, "state", {
44
+ popup: false,
45
+ expanded: [],
46
+ filter: ''
47
+ });
48
+ _defineProperty(_this, "filterChanged", function (ev) {
49
+ _this.setState({
50
+ filter: ev.target.value
51
+ });
52
+ _this.props.onChange('');
53
+ });
54
+ _defineProperty(_this, "onChildClicked", function (ev, child) {
55
+ _this.setState({
56
+ filter: ''
57
+ });
58
+ if (child.props["data-group-header"] !== undefined) {
59
+ MiscUtils.killEvent(ev);
60
+ _this.setState(function (state) {
61
+ var groupid = child.props["data-group-header"];
62
+ if (state.expanded.includes(groupid)) {
63
+ return {
64
+ expanded: state.expanded.filter(function (x) {
65
+ return x !== groupid;
66
+ })
67
+ };
68
+ } else {
69
+ return {
70
+ expanded: [].concat(_toConsumableArray(state.expanded), [groupid])
71
+ };
72
+ }
73
+ });
74
+ } else if (!child.props.disabled) {
75
+ _this.props.onChange(child.props.value);
76
+ }
77
+ });
78
+ _this.el = null;
79
+ return _this;
80
+ }
81
+ _inherits(ComboBox, _React$Component);
82
+ return _createClass(ComboBox, [{
83
+ key: "render",
84
+ value: function render() {
85
+ var _this2 = this;
86
+ var children = React.Children.toArray(this.props.children);
87
+ var rect = this.el ? this.el.getBoundingClientRect() : null;
88
+ var activeOption = children.filter(function (child) {
89
+ return child.props.value === _this2.props.value;
90
+ });
91
+ if (activeOption.length === 0) {
92
+ if (!this.state.filter) {
93
+ activeOption = /*#__PURE__*/React.createElement("span", null, this.props.placeholder);
94
+ } else {
95
+ activeOption = /*#__PURE__*/React.createElement("span", null, "\xA0");
96
+ }
97
+ }
98
+ var filter = this.state.filter ? new RegExp(removeDiacritics(this.state.filter).replace(/[-[\]/{}()*+?.\\^$|]/g, "\\$&"), "i") : null;
99
+ return /*#__PURE__*/React.createElement("div", {
100
+ className: "combobox " + (this.props.className || ""),
101
+ ref: function ref(el) {
102
+ _this2.el = el;
103
+ }
104
+ }, /*#__PURE__*/React.createElement("div", {
105
+ className: "combobox-button",
106
+ onClick: this.props.readOnly || isEmpty(children) ? null : function () {
107
+ return _this2.setState({
108
+ popup: true
109
+ });
110
+ }
111
+ }, /*#__PURE__*/React.createElement("span", {
112
+ className: "combobox-button-content"
113
+ }, activeOption), this.props.filterable && !this.props.readOnly ? /*#__PURE__*/React.createElement("input", {
114
+ className: "combobox-button-filter",
115
+ onChange: this.filterChanged,
116
+ type: "text",
117
+ value: this.state.filter
118
+ }) : null, this.props.readOnly ? null : /*#__PURE__*/React.createElement(Icon, {
119
+ icon: "chevron-down"
120
+ })), this.el && this.state.popup ? /*#__PURE__*/React.createElement(PopupMenu, {
121
+ className: "combobox-menu" + (this.props.menuClassName ? " " + this.props.menuClassName : ""),
122
+ onClose: function onClose() {
123
+ return _this2.setState({
124
+ popup: false
125
+ });
126
+ },
127
+ width: rect.width,
128
+ x: rect.left,
129
+ y: rect.bottom
130
+ }, children.map(function (child, idx) {
131
+ var classNames = classnames({
132
+ "combobox-menu-entry": true,
133
+ "combobox-menu-entry-active": child.props.value === _this2.props.value && !child.props.disabled,
134
+ "combobox-menu-entry-disabled": child.props.disabled,
135
+ "combobox-menu-entry-group-header": child.props["data-group-header"] !== undefined
136
+ });
137
+ if (child.props["data-group"] !== undefined && !_this2.state.expanded.includes(child.props["data-group"])) {
138
+ return null;
139
+ }
140
+ if (filter && !removeDiacritics(child.props.title).match(filter)) {
141
+ return null;
142
+ }
143
+ var expanderIcon = _this2.state.expanded.includes(child.props["data-group-header"]) ? "collapse" : "expand";
144
+ return /*#__PURE__*/React.createElement("div", {
145
+ className: classNames,
146
+ key: "child:" + idx,
147
+ onClickCapture: function onClickCapture(ev) {
148
+ return _this2.onChildClicked(ev, child);
149
+ }
150
+ }, child.props["data-group-header"] !== undefined ? /*#__PURE__*/React.createElement(Icon, {
151
+ icon: expanderIcon
152
+ }) : null, child);
153
+ })) : null);
154
+ }
155
+ }]);
156
+ }(React.Component);
157
+ _defineProperty(ComboBox, "propTypes", {
158
+ children: PropTypes.oneOfType([PropTypes.node, PropTypes.array]),
159
+ className: PropTypes.string,
160
+ filterable: PropTypes.bool,
161
+ menuClassName: PropTypes.string,
162
+ onChange: PropTypes.func,
163
+ placeholder: PropTypes.string,
164
+ readOnly: PropTypes.bool,
165
+ value: PropTypes.string
166
+ });
167
+ _defineProperty(ComboBox, "defaultProps", {
168
+ readOnly: false,
169
+ placeholder: ''
170
+ });
171
+ export { ComboBox as default };