@open-condo/ui 2.46.0 → 2.47.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.
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
2
  export type MarkdownProps = {
3
3
  children: string;
4
+ type?: 'default' | 'inline';
5
+ onCheckboxChange?: (newMarkdownContent: string) => void;
4
6
  };
5
7
  export declare const Markdown: React.FC<MarkdownProps>;
6
8
  //# sourceMappingURL=markdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/components/Markdown/markdown.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAYzB,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAID,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAsB5C,CAAA"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/components/Markdown/markdown.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC3B,gBAAgB,CAAC,EAAE,CAAC,kBAAkB,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1D,CAAA;AA0ED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA0E5C,CAAA"}
package/dist/index.js CHANGED
@@ -48558,7 +48558,7 @@ var isObject_default = /*#__PURE__*/__webpack_require__.n(isObject);
48558
48558
  var isString = __webpack_require__(8138);
48559
48559
  var isString_default = /*#__PURE__*/__webpack_require__.n(isString);
48560
48560
  ;// CONCATENATED MODULE: ./package.json
48561
- var package_namespaceObject = {"rE":"2.46.0"};
48561
+ var package_namespaceObject = {"rE":"2.47.0"};
48562
48562
  ;// CONCATENATED MODULE: ./src/components/_utils/analytics.ts
48563
48563
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
48564
48564
 
@@ -72804,12 +72804,19 @@ var react_markdown_default = /*#__PURE__*/__webpack_require__.n(react_markdown);
72804
72804
  var remark_gfm = __webpack_require__(9927);
72805
72805
  var remark_gfm_default = /*#__PURE__*/__webpack_require__.n(remark_gfm);
72806
72806
  ;// CONCATENATED MODULE: ./src/components/Markdown/markdown.tsx
72807
- var markdown_excluded = ["children"];
72807
+ var markdown_excluded = ["type", "checked", "disabled"],
72808
+ markdown_excluded2 = ["children"];
72808
72809
 
72809
72810
  function markdown_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = markdown_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
72810
72811
 
72811
72812
  function markdown_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
72812
72813
 
72814
+ function markdown_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
72815
+
72816
+ function markdown_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? markdown_ownKeys(Object(source), !0).forEach(function (key) { markdown_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : markdown_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
72817
+
72818
+ function markdown_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
72819
+
72813
72820
  function markdown_extends() { markdown_extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return markdown_extends.apply(this, arguments); }
72814
72821
 
72815
72822
 
@@ -72818,67 +72825,210 @@ function markdown_extends() { markdown_extends = Object.assign ? Object.assign.b
72818
72825
 
72819
72826
 
72820
72827
 
72828
+
72821
72829
  var REMARK_PLUGINS = [(remark_gfm_default())];
72822
72830
  var MARKDOWN_CLASS_PREFIX = 'condo-markdown';
72823
- var Markdown = function Markdown(_ref) {
72824
- var children = _ref.children;
72831
+ var MARKDOWN_TASK_LIST_CLASS_PREFIX = 'condo-markdown-task-list-item';
72832
+
72833
+ var TaskListItem = function TaskListItem(_ref) {
72834
+ var _ref$checked = _ref.checked,
72835
+ checked = _ref$checked === void 0 ? false : _ref$checked,
72836
+ children = _ref.children,
72837
+ onToggle = _ref.onToggle,
72838
+ _ref$disabled = _ref.disabled,
72839
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
72840
+ node = _ref.node;
72841
+ var position = node.position;
72842
+ return /*#__PURE__*/external_react_default().createElement("li", null, /*#__PURE__*/external_react_default().createElement("div", {
72843
+ className: MARKDOWN_TASK_LIST_CLASS_PREFIX
72844
+ }, /*#__PURE__*/external_react_default().createElement(components_Checkbox_Checkbox, {
72845
+ checked: checked,
72846
+ onChange: function onChange(e) {
72847
+ return onToggle === null || onToggle === void 0 ? void 0 : onToggle({
72848
+ checked: e.target.checked,
72849
+ position: position
72850
+ });
72851
+ },
72852
+ disabled: disabled
72853
+ }), /*#__PURE__*/external_react_default().createElement(Typography.Text, {
72854
+ type: "secondary"
72855
+ }, children)));
72856
+ };
72857
+
72858
+ var MARKDOWN_COMPONENTS_BY_TYPE = {
72859
+ 'default': {
72860
+ h1: function h1(props) {
72861
+ return /*#__PURE__*/external_react_default().createElement(Typography.Title, markdown_extends({}, omit_default()(props, 'ref'), {
72862
+ level: 1
72863
+ }));
72864
+ },
72865
+ h2: function h2(props) {
72866
+ return /*#__PURE__*/external_react_default().createElement(Typography.Title, markdown_extends({}, omit_default()(props, 'ref'), {
72867
+ level: 2
72868
+ }));
72869
+ },
72870
+ h3: function h3(props) {
72871
+ return /*#__PURE__*/external_react_default().createElement(Typography.Title, markdown_extends({}, omit_default()(props, 'ref'), {
72872
+ level: 3
72873
+ }));
72874
+ },
72875
+ h4: function h4(props) {
72876
+ return /*#__PURE__*/external_react_default().createElement(Typography.Title, markdown_extends({}, omit_default()(props, 'ref'), {
72877
+ level: 4
72878
+ }));
72879
+ },
72880
+ h5: function h5(props) {
72881
+ return /*#__PURE__*/external_react_default().createElement(Typography.Title, markdown_extends({}, omit_default()(props, 'ref'), {
72882
+ level: 5
72883
+ }));
72884
+ },
72885
+ h6: function h6(props) {
72886
+ return /*#__PURE__*/external_react_default().createElement(Typography.Title, markdown_extends({}, omit_default()(props, 'ref'), {
72887
+ level: 6
72888
+ }));
72889
+ }
72890
+ },
72891
+ // Inline should be used when displaying text formatted by user
72892
+ 'inline': {
72893
+ h1: function h1(props) {
72894
+ return /*#__PURE__*/external_react_default().createElement(Typography.Paragraph, markdown_extends({
72895
+ strong: true
72896
+ }, omit_default()(props, 'ref'), {
72897
+ type: "primary"
72898
+ }));
72899
+ },
72900
+ h2: function h2(props) {
72901
+ return /*#__PURE__*/external_react_default().createElement(Typography.Paragraph, markdown_extends({
72902
+ strong: true
72903
+ }, omit_default()(props, 'ref'), {
72904
+ type: "primary"
72905
+ }));
72906
+ },
72907
+ h3: function h3(props) {
72908
+ return /*#__PURE__*/external_react_default().createElement(Typography.Paragraph, markdown_extends({
72909
+ strong: true
72910
+ }, omit_default()(props, 'ref'), {
72911
+ type: "primary"
72912
+ }));
72913
+ },
72914
+ h4: function h4(props) {
72915
+ return /*#__PURE__*/external_react_default().createElement(Typography.Paragraph, markdown_extends({
72916
+ strong: true
72917
+ }, omit_default()(props, 'ref'), {
72918
+ type: "primary"
72919
+ }));
72920
+ },
72921
+ h5: function h5(props) {
72922
+ return /*#__PURE__*/external_react_default().createElement(Typography.Paragraph, markdown_extends({
72923
+ strong: true
72924
+ }, omit_default()(props, 'ref'), {
72925
+ type: "primary"
72926
+ }));
72927
+ },
72928
+ h6: function h6(props) {
72929
+ return /*#__PURE__*/external_react_default().createElement(Typography.Paragraph, markdown_extends({
72930
+ strong: true
72931
+ }, omit_default()(props, 'ref'), {
72932
+ type: "primary"
72933
+ }));
72934
+ },
72935
+ p: function p(props) {
72936
+ return /*#__PURE__*/external_react_default().createElement(Typography.Paragraph, markdown_extends({}, omit_default()(props, 'ref'), {
72937
+ type: "primary"
72938
+ }));
72939
+ }
72940
+ }
72941
+ };
72942
+ var Markdown = function Markdown(_ref2) {
72943
+ var children = _ref2.children,
72944
+ _ref2$type = _ref2.type,
72945
+ type = _ref2$type === void 0 ? 'default' : _ref2$type,
72946
+ onCheckboxChange = _ref2.onCheckboxChange;
72947
+
72948
+ if (!MARKDOWN_COMPONENTS_BY_TYPE.hasOwnProperty(type)) {
72949
+ throw new Error('Unsupported markdown type');
72950
+ }
72951
+
72952
+ var hasInteractiveCheckboxes = onCheckboxChange && typeof onCheckboxChange === 'function';
72953
+
72954
+ var callOnCheckboxChange = function callOnCheckboxChange(_ref3) {
72955
+ var checked = _ref3.checked,
72956
+ position = _ref3.position;
72957
+
72958
+ if (hasInteractiveCheckboxes) {
72959
+ var checkboxChangedPositionOffset = position.start.offset + 3;
72960
+ var partBeforeCheckbox = children.slice(0, checkboxChangedPositionOffset);
72961
+ var partAfterCheckbox = children.slice(checkboxChangedPositionOffset + 1);
72962
+ var checkboxContent = checked ? 'x' : ' ';
72963
+ var newMarkdown = partBeforeCheckbox + checkboxContent + partAfterCheckbox;
72964
+ onCheckboxChange(newMarkdown);
72965
+ }
72966
+ };
72967
+
72825
72968
  return /*#__PURE__*/external_react_default().createElement((react_markdown_default()), {
72826
72969
  className: MARKDOWN_CLASS_PREFIX,
72827
72970
  remarkPlugins: REMARK_PLUGINS,
72828
- components: {
72829
- h1: function h1(props) {
72830
- return /*#__PURE__*/external_react_default().createElement(Typography.Title, markdown_extends({}, omit_default()(props, 'ref'), {
72831
- level: 1
72832
- }));
72833
- },
72834
- h2: function h2(props) {
72835
- return /*#__PURE__*/external_react_default().createElement(Typography.Title, markdown_extends({}, omit_default()(props, 'ref'), {
72836
- level: 2
72837
- }));
72838
- },
72839
- h3: function h3(props) {
72840
- return /*#__PURE__*/external_react_default().createElement(Typography.Title, markdown_extends({}, omit_default()(props, 'ref'), {
72841
- level: 3
72842
- }));
72843
- },
72844
- h4: function h4(props) {
72845
- return /*#__PURE__*/external_react_default().createElement(Typography.Title, markdown_extends({}, omit_default()(props, 'ref'), {
72846
- level: 4
72847
- }));
72848
- },
72849
- h5: function h5(props) {
72850
- return /*#__PURE__*/external_react_default().createElement(Typography.Title, markdown_extends({}, omit_default()(props, 'ref'), {
72851
- level: 5
72852
- }));
72853
- },
72854
- h6: function h6(props) {
72855
- return /*#__PURE__*/external_react_default().createElement(Typography.Title, markdown_extends({}, omit_default()(props, 'ref'), {
72856
- level: 6
72857
- }));
72858
- },
72859
- // TODO: Try more elegant solutions if deploys succeed
72860
- p: function p(props) {
72861
- return /*#__PURE__*/external_react_default().createElement(Typography.Paragraph, markdown_extends({}, omit_default()(props, 'ref'), {
72862
- type: "secondary"
72863
- }));
72864
- },
72971
+ components: markdown_objectSpread(markdown_objectSpread({}, MARKDOWN_COMPONENTS_BY_TYPE[type]), {}, {
72865
72972
  a: function a(props) {
72866
72973
  return /*#__PURE__*/external_react_default().createElement(Typography.Link, markdown_extends({}, omit_default()(props, 'ref'), {
72974
+ rel: "noopener noreferrer",
72867
72975
  target: "_blank"
72868
72976
  }));
72869
72977
  },
72870
- li: function li(_ref2) {
72871
- var children = _ref2.children,
72872
- restProps = markdown_objectWithoutProperties(_ref2, markdown_excluded);
72978
+ pre: function pre(props) {
72979
+ return /*#__PURE__*/external_react_default().createElement(CodeWrapper, props);
72980
+ },
72981
+ input: function input(_ref4) {
72982
+ var type = _ref4.type,
72983
+ checked = _ref4.checked,
72984
+ disabled = _ref4.disabled,
72985
+ restProps = markdown_objectWithoutProperties(_ref4, markdown_excluded);
72986
+
72987
+ if (type !== 'checkbox') {
72988
+ return /*#__PURE__*/external_react_default().createElement("input", markdown_extends({
72989
+ type: type
72990
+ }, restProps));
72991
+ }
72992
+
72993
+ return /*#__PURE__*/external_react_default().createElement(components_Checkbox_Checkbox, {
72994
+ checked: checked || false,
72995
+ disabled: true
72996
+ });
72997
+ },
72998
+ li: function li(props) {
72999
+ var children = props.children,
73000
+ restProps = markdown_objectWithoutProperties(props, markdown_excluded2);
73001
+
73002
+ var childrenArray = external_react_default().Children.toArray(children);
73003
+ var checkboxChild = childrenArray.find(function (child) {
73004
+ var _child$props;
73005
+
73006
+ return /*#__PURE__*/external_react_default().isValidElement(child) && ((_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.type) === 'checkbox';
73007
+ });
73008
+
73009
+ if (checkboxChild) {
73010
+ var _checkboxChild$props;
73011
+
73012
+ var _checked = /*#__PURE__*/external_react_default().isValidElement(checkboxChild) && (checkboxChild === null || checkboxChild === void 0 ? void 0 : (_checkboxChild$props = checkboxChild.props) === null || _checkboxChild$props === void 0 ? void 0 : _checkboxChild$props.checked) || false;
73013
+
73014
+ var contentChildren = childrenArray.filter(function (child) {
73015
+ var _child$props2;
73016
+
73017
+ return !( /*#__PURE__*/external_react_default().isValidElement(child) && ((_child$props2 = child.props) === null || _child$props2 === void 0 ? void 0 : _child$props2.type) === 'checkbox');
73018
+ });
73019
+ return /*#__PURE__*/external_react_default().createElement(TaskListItem, {
73020
+ node: props.node,
73021
+ checked: _checked,
73022
+ disabled: !hasInteractiveCheckboxes,
73023
+ onToggle: callOnCheckboxChange
73024
+ }, contentChildren);
73025
+ }
72873
73026
 
72874
73027
  return /*#__PURE__*/external_react_default().createElement("li", restProps, /*#__PURE__*/external_react_default().createElement(Typography.Text, {
72875
73028
  type: "secondary"
72876
73029
  }, children));
72877
- },
72878
- pre: function pre(props) {
72879
- return /*#__PURE__*/external_react_default().createElement(CodeWrapper, props);
72880
73030
  }
72881
- }
73031
+ })
72882
73032
  }, children);
72883
73033
  };
72884
73034
  ;// CONCATENATED MODULE: ./src/components/Markdown/index.ts
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Thu, 16 Oct 2025 15:26:03 GMT
3
+ * Generated on Fri, 07 Nov 2025 15:18:34 GMT
4
4
  */
5
5
 
6
6
  :root {
@@ -1,6 +1,6 @@
1
1
 
2
2
  // Do not edit directly
3
- // Generated on Thu, 16 Oct 2025 15:26:03 GMT
3
+ // Generated on Fri, 07 Nov 2025 15:18:34 GMT
4
4
 
5
5
  @condo-global-spacing-4: 4px;
6
6
  @condo-global-spacing-8: 8px;
package/dist/styles.css CHANGED
@@ -9606,6 +9606,11 @@ textarea.condo-input {
9606
9606
  border-bottom: 1px solid #e1e5ed;
9607
9607
  }
9608
9608
 
9609
+ .condo-markdown-task-list-item {
9610
+ display: flex;
9611
+ gap: 8px;
9612
+ align-items: flex-start;
9613
+ }
9609
9614
  .condo-markdown {
9610
9615
  color: #707695;
9611
9616
  }