@quadrats/react 1.0.0 → 1.1.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 (108) hide show
  1. package/card/components/Card.js +83 -75
  2. package/card/index.cjs.js +82 -74
  3. package/carousel/components/Carousel.js +32 -28
  4. package/carousel/index.cjs.js +32 -28
  5. package/components/Tooltip/index.js +5 -2
  6. package/components/index.cjs.js +5 -2
  7. package/embed/renderers/base/components/BaseEmbedElement.js +51 -43
  8. package/embed/renderers/base/index.cjs.js +50 -42
  9. package/image/components/Image.js +34 -26
  10. package/image/createReactImage.js +1 -1
  11. package/image/index.cjs.js +34 -26
  12. package/package.json +4 -4
  13. package/table/components/Table.d.ts +9 -0
  14. package/table/components/Table.js +231 -0
  15. package/table/components/TableBody.d.ts +5 -0
  16. package/table/components/TableBody.js +8 -0
  17. package/table/components/TableCell.d.ts +5 -0
  18. package/table/components/TableCell.js +191 -0
  19. package/table/components/TableHeader.d.ts +5 -0
  20. package/table/components/TableHeader.js +13 -0
  21. package/table/components/TableMain.d.ts +5 -0
  22. package/table/components/TableMain.js +225 -0
  23. package/table/components/TableRow.d.ts +5 -0
  24. package/table/components/TableRow.js +8 -0
  25. package/table/components/TableTitle.d.ts +5 -0
  26. package/table/components/TableTitle.js +18 -0
  27. package/table/contexts/TableActionsContext.d.ts +3 -0
  28. package/table/contexts/TableActionsContext.js +5 -0
  29. package/table/contexts/TableHeaderContext.d.ts +2 -0
  30. package/table/contexts/TableHeaderContext.js +7 -0
  31. package/table/contexts/TableMetadataContext.d.ts +3 -0
  32. package/table/contexts/TableMetadataContext.js +5 -0
  33. package/table/contexts/TableScrollContext.d.ts +2 -0
  34. package/table/contexts/TableScrollContext.js +9 -0
  35. package/table/contexts/TableStateContext.d.ts +3 -0
  36. package/table/contexts/TableStateContext.js +5 -0
  37. package/table/createReactTable.d.ts +4 -0
  38. package/table/createReactTable.js +297 -0
  39. package/table/defaultRenderTableElements.d.ts +2 -0
  40. package/table/defaultRenderTableElements.js +20 -0
  41. package/table/hooks/useColumnResize.d.ts +12 -0
  42. package/table/hooks/useColumnResize.js +139 -0
  43. package/table/hooks/useTableActions.d.ts +25 -0
  44. package/table/hooks/useTableActions.js +886 -0
  45. package/table/hooks/useTableActionsContext.d.ts +1 -0
  46. package/table/hooks/useTableActionsContext.js +12 -0
  47. package/table/hooks/useTableCell.d.ts +16 -0
  48. package/table/hooks/useTableCell.js +166 -0
  49. package/table/hooks/useTableCellToolbarActions.d.ts +34 -0
  50. package/table/hooks/useTableCellToolbarActions.js +404 -0
  51. package/table/hooks/useTableMetadata.d.ts +1 -0
  52. package/table/hooks/useTableMetadata.js +12 -0
  53. package/table/hooks/useTableStateContext.d.ts +1 -0
  54. package/table/hooks/useTableStateContext.js +12 -0
  55. package/table/hooks/useTableStates.d.ts +18 -0
  56. package/table/hooks/useTableStates.js +14 -0
  57. package/table/index.cjs.js +3254 -0
  58. package/table/index.d.ts +16 -0
  59. package/table/index.js +24 -0
  60. package/table/jsx-serializer/components/Table.d.ts +3 -0
  61. package/table/jsx-serializer/components/Table.js +7 -0
  62. package/table/jsx-serializer/components/TableBody.d.ts +3 -0
  63. package/table/jsx-serializer/components/TableBody.js +7 -0
  64. package/table/jsx-serializer/components/TableCell.d.ts +5 -0
  65. package/table/jsx-serializer/components/TableCell.js +33 -0
  66. package/table/jsx-serializer/components/TableHeader.d.ts +3 -0
  67. package/table/jsx-serializer/components/TableHeader.js +10 -0
  68. package/table/jsx-serializer/components/TableMain.d.ts +6 -0
  69. package/table/jsx-serializer/components/TableMain.js +18 -0
  70. package/table/jsx-serializer/components/TableRow.d.ts +3 -0
  71. package/table/jsx-serializer/components/TableRow.js +7 -0
  72. package/table/jsx-serializer/components/TableTitle.d.ts +3 -0
  73. package/table/jsx-serializer/components/TableTitle.js +7 -0
  74. package/table/jsx-serializer/contexts/TableHeaderContext.d.ts +1 -0
  75. package/table/jsx-serializer/contexts/TableHeaderContext.js +5 -0
  76. package/table/jsx-serializer/contexts/TableScrollContext.d.ts +2 -0
  77. package/table/jsx-serializer/contexts/TableScrollContext.js +7 -0
  78. package/table/jsx-serializer/createJsxSerializeTable.d.ts +5 -0
  79. package/table/jsx-serializer/createJsxSerializeTable.js +113 -0
  80. package/table/jsx-serializer/defaultRenderTableElements.d.ts +2 -0
  81. package/table/jsx-serializer/defaultRenderTableElements.js +20 -0
  82. package/table/jsx-serializer/index.cjs.js +195 -0
  83. package/table/jsx-serializer/index.d.ts +3 -0
  84. package/table/jsx-serializer/index.js +2 -0
  85. package/table/jsx-serializer/package.json +7 -0
  86. package/table/jsx-serializer/typings.d.ts +12 -0
  87. package/table/package.json +10 -0
  88. package/table/table.css +1 -0
  89. package/table/table.scss +393 -0
  90. package/table/toolbar/TableToolbarIcon.d.ts +8 -0
  91. package/table/toolbar/TableToolbarIcon.js +12 -0
  92. package/table/toolbar/index.cjs.js +24 -0
  93. package/table/toolbar/index.d.ts +2 -0
  94. package/table/toolbar/index.js +2 -0
  95. package/table/toolbar/package.json +7 -0
  96. package/table/toolbar/useTableTool.d.ts +4 -0
  97. package/table/toolbar/useTableTool.js +13 -0
  98. package/table/typings.d.ts +66 -0
  99. package/table/utils/helper.d.ts +160 -0
  100. package/table/utils/helper.js +693 -0
  101. package/toolbar/components/InlineToolbar.d.ts +12 -11
  102. package/toolbar/components/InlineToolbar.js +23 -19
  103. package/toolbar/components/Toolbar.js +2 -2
  104. package/toolbar/index.cjs.js +24 -21
  105. package/toolbar/toolbar.css +1 -1
  106. package/toolbar/toolbar.scss +4 -1
  107. package/utils/index.cjs.js +7 -1
  108. package/utils/removePreviousElement.js +7 -1
@@ -3,93 +3,101 @@ import clsx from 'clsx';
3
3
  import { Transforms } from '@quadrats/core';
4
4
  import { useModal, useSlateStatic, ReactEditor } from '@quadrats/react';
5
5
  import { InlineToolbar } from '@quadrats/react/toolbar';
6
- import { Edit, Trash, BlockLeft, BlockRight } from '@quadrats/icons';
6
+ import { BlockLeft, BlockRight, Edit, Trash } from '@quadrats/icons';
7
7
 
8
8
  function Card({ attributes, children, element, controller, }) {
9
9
  const { setCardModalConfig, setConfirmModalConfig } = useModal();
10
10
  const editor = useSlateStatic();
11
11
  const path = ReactEditor.findPath(editor, element);
12
12
  return (React.createElement("div", Object.assign({}, attributes, { contentEditable: false, className: clsx('qdr-card', `qdr-card--${element.alignment}`) }),
13
- React.createElement(InlineToolbar, { className: "qdr-card__inline-toolbar", leftIcons: element.alignment === 'noImage'
14
- ? []
15
- : [
16
- {
17
- icon: BlockLeft,
18
- onClick: () => {
19
- controller.updateCardAlignment({
20
- editor,
21
- alignment: 'leftImageRightText',
22
- path,
23
- });
24
- },
25
- active: element.alignment === 'leftImageRightText',
26
- },
27
- {
28
- icon: BlockRight,
29
- onClick: () => {
30
- controller.updateCardAlignment({
31
- editor,
32
- alignment: 'rightImageLeftText',
33
- path,
34
- });
35
- },
36
- active: element.alignment === 'rightImageLeftText',
37
- },
38
- ], rightIcons: [
39
- {
40
- icon: Edit,
41
- onClick: () => {
42
- setCardModalConfig({
43
- controller,
44
- initialValue: {
45
- values: {
46
- alignment: element.alignment,
47
- title: element.title,
48
- description: element.description,
49
- remark: element.remark,
50
- linkText: element.linkText,
51
- linkUrl: element.linkUrl,
13
+ React.createElement(InlineToolbar, { className: "qdr-card__inline-toolbar", iconGroups: [
14
+ element.alignment === 'noImage'
15
+ ? { icons: [] }
16
+ : {
17
+ enabledBgColor: true,
18
+ icons: [
19
+ {
20
+ icon: BlockLeft,
21
+ onClick: () => {
22
+ controller.updateCardAlignment({
23
+ editor,
24
+ alignment: 'leftImageRightText',
25
+ path,
26
+ });
52
27
  },
53
- imageItem: element.imageItem,
54
- haveLink: element.haveLink,
28
+ active: element.alignment === 'leftImageRightText',
55
29
  },
56
- onConfirm: ({ values, imageItem, haveLink }) => {
57
- controller.updateCardElement({
58
- editor,
59
- cardValues: {
60
- alignment: values.alignment,
61
- imageItem,
62
- title: values.title,
63
- description: values.description,
64
- remark: values.remark,
65
- haveLink,
66
- linkText: values.linkText,
67
- linkUrl: values.linkUrl,
68
- },
69
- path,
70
- });
30
+ {
31
+ icon: BlockRight,
32
+ onClick: () => {
33
+ controller.updateCardAlignment({
34
+ editor,
35
+ alignment: 'rightImageLeftText',
36
+ path,
37
+ });
38
+ },
39
+ active: element.alignment === 'rightImageLeftText',
71
40
  },
72
- });
41
+ ],
73
42
  },
74
- },
75
43
  {
76
- icon: Trash,
77
- onClick: () => {
78
- if (controller.confirmModal) {
79
- // TODO: i18n
80
- setConfirmModalConfig({
81
- title: '刪除卡片',
82
- content: '是否確認刪除此卡片?刪除後將立即移除,且此操作無法復原。',
83
- confirmText: '刪除卡片',
84
- onConfirm: () => {
44
+ icons: [
45
+ {
46
+ icon: Edit,
47
+ onClick: () => {
48
+ setCardModalConfig({
49
+ controller,
50
+ initialValue: {
51
+ values: {
52
+ alignment: element.alignment,
53
+ title: element.title,
54
+ description: element.description,
55
+ remark: element.remark,
56
+ linkText: element.linkText,
57
+ linkUrl: element.linkUrl,
58
+ },
59
+ imageItem: element.imageItem,
60
+ haveLink: element.haveLink,
61
+ },
62
+ onConfirm: ({ values, imageItem, haveLink }) => {
63
+ controller.updateCardElement({
64
+ editor,
65
+ cardValues: {
66
+ alignment: values.alignment,
67
+ imageItem,
68
+ title: values.title,
69
+ description: values.description,
70
+ remark: values.remark,
71
+ haveLink,
72
+ linkText: values.linkText,
73
+ linkUrl: values.linkUrl,
74
+ },
75
+ path,
76
+ });
77
+ },
78
+ });
79
+ },
80
+ },
81
+ {
82
+ icon: Trash,
83
+ onClick: () => {
84
+ if (controller.confirmModal) {
85
+ // TODO: i18n
86
+ setConfirmModalConfig({
87
+ title: '刪除卡片',
88
+ content: '是否確認刪除此卡片?刪除後將立即移除,且此操作無法復原。',
89
+ confirmText: '刪除卡片',
90
+ onConfirm: () => {
91
+ Transforms.removeNodes(editor, { at: path });
92
+ },
93
+ });
94
+ }
95
+ else {
85
96
  Transforms.removeNodes(editor, { at: path });
86
- },
87
- });
88
- }
89
- else {
90
- Transforms.removeNodes(editor, { at: path });
91
- }
92
- },
97
+ }
98
+ },
99
+ },
100
+ ],
93
101
  },
94
102
  ] }),
95
103
  children));
package/card/index.cjs.js CHANGED
@@ -15,86 +15,94 @@ function Card({ attributes, children, element, controller, }) {
15
15
  const editor = react.useSlateStatic();
16
16
  const path = react.ReactEditor.findPath(editor, element);
17
17
  return (React.createElement("div", Object.assign({}, attributes, { contentEditable: false, className: clsx('qdr-card', `qdr-card--${element.alignment}`) }),
18
- React.createElement(toolbar.InlineToolbar, { className: "qdr-card__inline-toolbar", leftIcons: element.alignment === 'noImage'
19
- ? []
20
- : [
21
- {
22
- icon: icons.BlockLeft,
23
- onClick: () => {
24
- controller.updateCardAlignment({
25
- editor,
26
- alignment: 'leftImageRightText',
27
- path,
28
- });
29
- },
30
- active: element.alignment === 'leftImageRightText',
31
- },
32
- {
33
- icon: icons.BlockRight,
34
- onClick: () => {
35
- controller.updateCardAlignment({
36
- editor,
37
- alignment: 'rightImageLeftText',
38
- path,
39
- });
40
- },
41
- active: element.alignment === 'rightImageLeftText',
42
- },
43
- ], rightIcons: [
44
- {
45
- icon: icons.Edit,
46
- onClick: () => {
47
- setCardModalConfig({
48
- controller,
49
- initialValue: {
50
- values: {
51
- alignment: element.alignment,
52
- title: element.title,
53
- description: element.description,
54
- remark: element.remark,
55
- linkText: element.linkText,
56
- linkUrl: element.linkUrl,
18
+ React.createElement(toolbar.InlineToolbar, { className: "qdr-card__inline-toolbar", iconGroups: [
19
+ element.alignment === 'noImage'
20
+ ? { icons: [] }
21
+ : {
22
+ enabledBgColor: true,
23
+ icons: [
24
+ {
25
+ icon: icons.BlockLeft,
26
+ onClick: () => {
27
+ controller.updateCardAlignment({
28
+ editor,
29
+ alignment: 'leftImageRightText',
30
+ path,
31
+ });
57
32
  },
58
- imageItem: element.imageItem,
59
- haveLink: element.haveLink,
33
+ active: element.alignment === 'leftImageRightText',
60
34
  },
61
- onConfirm: ({ values, imageItem, haveLink }) => {
62
- controller.updateCardElement({
63
- editor,
64
- cardValues: {
65
- alignment: values.alignment,
66
- imageItem,
67
- title: values.title,
68
- description: values.description,
69
- remark: values.remark,
70
- haveLink,
71
- linkText: values.linkText,
72
- linkUrl: values.linkUrl,
73
- },
74
- path,
75
- });
35
+ {
36
+ icon: icons.BlockRight,
37
+ onClick: () => {
38
+ controller.updateCardAlignment({
39
+ editor,
40
+ alignment: 'rightImageLeftText',
41
+ path,
42
+ });
43
+ },
44
+ active: element.alignment === 'rightImageLeftText',
76
45
  },
77
- });
46
+ ],
78
47
  },
79
- },
80
48
  {
81
- icon: icons.Trash,
82
- onClick: () => {
83
- if (controller.confirmModal) {
84
- // TODO: i18n
85
- setConfirmModalConfig({
86
- title: '刪除卡片',
87
- content: '是否確認刪除此卡片?刪除後將立即移除,且此操作無法復原。',
88
- confirmText: '刪除卡片',
89
- onConfirm: () => {
49
+ icons: [
50
+ {
51
+ icon: icons.Edit,
52
+ onClick: () => {
53
+ setCardModalConfig({
54
+ controller,
55
+ initialValue: {
56
+ values: {
57
+ alignment: element.alignment,
58
+ title: element.title,
59
+ description: element.description,
60
+ remark: element.remark,
61
+ linkText: element.linkText,
62
+ linkUrl: element.linkUrl,
63
+ },
64
+ imageItem: element.imageItem,
65
+ haveLink: element.haveLink,
66
+ },
67
+ onConfirm: ({ values, imageItem, haveLink }) => {
68
+ controller.updateCardElement({
69
+ editor,
70
+ cardValues: {
71
+ alignment: values.alignment,
72
+ imageItem,
73
+ title: values.title,
74
+ description: values.description,
75
+ remark: values.remark,
76
+ haveLink,
77
+ linkText: values.linkText,
78
+ linkUrl: values.linkUrl,
79
+ },
80
+ path,
81
+ });
82
+ },
83
+ });
84
+ },
85
+ },
86
+ {
87
+ icon: icons.Trash,
88
+ onClick: () => {
89
+ if (controller.confirmModal) {
90
+ // TODO: i18n
91
+ setConfirmModalConfig({
92
+ title: '刪除卡片',
93
+ content: '是否確認刪除此卡片?刪除後將立即移除,且此操作無法復原。',
94
+ confirmText: '刪除卡片',
95
+ onConfirm: () => {
96
+ core.Transforms.removeNodes(editor, { at: path });
97
+ },
98
+ });
99
+ }
100
+ else {
90
101
  core.Transforms.removeNodes(editor, { at: path });
91
- },
92
- });
93
- }
94
- else {
95
- core.Transforms.removeNodes(editor, { at: path });
96
- }
97
- },
102
+ }
103
+ },
104
+ },
105
+ ],
98
106
  },
99
107
  ] }),
100
108
  children));
@@ -15,37 +15,41 @@ function Carousel({ attributes, children, element, controller, }) {
15
15
  setActiveIndex,
16
16
  } },
17
17
  React.createElement("div", Object.assign({}, attributes, { contentEditable: false, className: "qdr-carousel qdr-carousel--with-inline-toolbar" }),
18
- React.createElement(InlineToolbar, { className: "qdr-carousel__inline-toolbar", leftIcons: [], rightIcons: [
18
+ React.createElement(InlineToolbar, { className: "qdr-carousel__inline-toolbar", iconGroups: [
19
19
  {
20
- icon: Edit,
21
- onClick: () => {
22
- setCarouselModalConfig({
23
- controller,
24
- initialValue: element.items,
25
- onConfirm: (items) => {
26
- controller.updateCarouselElement({ editor, items, path });
20
+ icons: [
21
+ {
22
+ icon: Edit,
23
+ onClick: () => {
24
+ setCarouselModalConfig({
25
+ controller,
26
+ initialValue: element.items,
27
+ onConfirm: (items) => {
28
+ controller.updateCarouselElement({ editor, items, path });
29
+ },
30
+ });
27
31
  },
28
- });
29
- },
30
- },
31
- {
32
- icon: Trash,
33
- onClick: () => {
34
- if (controller.confirmModal) {
35
- // TODO: i18n
36
- setConfirmModalConfig({
37
- title: '刪除輪播',
38
- content: '是否確認刪除此輪播?刪除後將立即移除,且此操作無法復原。',
39
- confirmText: '刪除輪播',
40
- onConfirm: () => {
32
+ },
33
+ {
34
+ icon: Trash,
35
+ onClick: () => {
36
+ if (controller.confirmModal) {
37
+ // TODO: i18n
38
+ setConfirmModalConfig({
39
+ title: '刪除輪播',
40
+ content: '是否確認刪除此輪播?刪除後將立即移除,且此操作無法復原。',
41
+ confirmText: '刪除輪播',
42
+ onConfirm: () => {
43
+ Transforms.removeNodes(editor, { at: path });
44
+ },
45
+ });
46
+ }
47
+ else {
41
48
  Transforms.removeNodes(editor, { at: path });
42
- },
43
- });
44
- }
45
- else {
46
- Transforms.removeNodes(editor, { at: path });
47
- }
48
- },
49
+ }
50
+ },
51
+ },
52
+ ],
49
53
  },
50
54
  ] }),
51
55
  children)));
@@ -26,37 +26,41 @@ function Carousel({ attributes, children, element, controller, }) {
26
26
  setActiveIndex,
27
27
  } },
28
28
  React.createElement("div", Object.assign({}, attributes, { contentEditable: false, className: "qdr-carousel qdr-carousel--with-inline-toolbar" }),
29
- React.createElement(toolbar.InlineToolbar, { className: "qdr-carousel__inline-toolbar", leftIcons: [], rightIcons: [
29
+ React.createElement(toolbar.InlineToolbar, { className: "qdr-carousel__inline-toolbar", iconGroups: [
30
30
  {
31
- icon: icons.Edit,
32
- onClick: () => {
33
- setCarouselModalConfig({
34
- controller,
35
- initialValue: element.items,
36
- onConfirm: (items) => {
37
- controller.updateCarouselElement({ editor, items, path });
31
+ icons: [
32
+ {
33
+ icon: icons.Edit,
34
+ onClick: () => {
35
+ setCarouselModalConfig({
36
+ controller,
37
+ initialValue: element.items,
38
+ onConfirm: (items) => {
39
+ controller.updateCarouselElement({ editor, items, path });
40
+ },
41
+ });
38
42
  },
39
- });
40
- },
41
- },
42
- {
43
- icon: icons.Trash,
44
- onClick: () => {
45
- if (controller.confirmModal) {
46
- // TODO: i18n
47
- setConfirmModalConfig({
48
- title: '刪除輪播',
49
- content: '是否確認刪除此輪播?刪除後將立即移除,且此操作無法復原。',
50
- confirmText: '刪除輪播',
51
- onConfirm: () => {
43
+ },
44
+ {
45
+ icon: icons.Trash,
46
+ onClick: () => {
47
+ if (controller.confirmModal) {
48
+ // TODO: i18n
49
+ setConfirmModalConfig({
50
+ title: '刪除輪播',
51
+ content: '是否確認刪除此輪播?刪除後將立即移除,且此操作無法復原。',
52
+ confirmText: '刪除輪播',
53
+ onConfirm: () => {
54
+ core.Transforms.removeNodes(editor, { at: path });
55
+ },
56
+ });
57
+ }
58
+ else {
52
59
  core.Transforms.removeNodes(editor, { at: path });
53
- },
54
- });
55
- }
56
- else {
57
- core.Transforms.removeNodes(editor, { at: path });
58
- }
59
- },
60
+ }
61
+ },
62
+ },
63
+ ],
60
64
  },
61
65
  ] }),
62
66
  children)));
@@ -52,7 +52,7 @@ function Tooltip({ children, triggers = defaultTriggers, popup, getContainer = d
52
52
  if (triggers.includes('click')) {
53
53
  triggerProps.onClick = (event) => {
54
54
  var _a, _b;
55
- delaySetVisible(prevVisible => !prevVisible, 0);
55
+ delaySetVisible((prevVisible) => !prevVisible, 0);
56
56
  (_b = (_a = child.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, event);
57
57
  };
58
58
  }
@@ -83,7 +83,10 @@ function Tooltip({ children, triggers = defaultTriggers, popup, getContainer = d
83
83
  return;
84
84
  }
85
85
  const { top, left } = calculatePosition({
86
- placement, getContainer, horizontalOffset, verticalOffset,
86
+ placement,
87
+ getContainer,
88
+ horizontalOffset,
89
+ verticalOffset,
87
90
  }, triggerEl, popupEl);
88
91
  popupEl.style.top = `${top}px`;
89
92
  popupEl.style.left = `${left}px`;
@@ -780,7 +780,7 @@ function Tooltip({ children, triggers = defaultTriggers, popup, getContainer = d
780
780
  if (triggers.includes('click')) {
781
781
  triggerProps.onClick = (event) => {
782
782
  var _a, _b;
783
- delaySetVisible(prevVisible => !prevVisible, 0);
783
+ delaySetVisible((prevVisible) => !prevVisible, 0);
784
784
  (_b = (_a = child.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, event);
785
785
  };
786
786
  }
@@ -811,7 +811,10 @@ function Tooltip({ children, triggers = defaultTriggers, popup, getContainer = d
811
811
  return;
812
812
  }
813
813
  const { top, left } = calculatePosition({
814
- placement, getContainer, horizontalOffset, verticalOffset,
814
+ placement,
815
+ getContainer,
816
+ horizontalOffset,
817
+ verticalOffset,
815
818
  }, triggerEl, popupEl);
816
819
  popupEl.style.top = `${top}px`;
817
820
  popupEl.style.left = `${left}px`;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Transforms } from '@quadrats/core';
3
- import { Edit, Trash, AlignLeft, AlignCenter, AlignRight } from '@quadrats/icons';
3
+ import { AlignLeft, AlignCenter, AlignRight, Edit, Trash } from '@quadrats/icons';
4
4
  import { useModal, useSlateStatic, ReactEditor } from '@quadrats/react';
5
5
  import { InlineToolbar } from '@quadrats/react/toolbar';
6
6
 
@@ -11,50 +11,58 @@ const BaseEmbedElement = ({ element, haveAlignConfig = true, type = 'input', pla
11
11
  const { setEmbedModalConfig } = useModal();
12
12
  const editor = useSlateStatic();
13
13
  const path = ReactEditor.findPath(editor, element);
14
- return (React.createElement("div", { className: "qdr-embed" }, children(React.createElement(InlineToolbar, { className: "qdr-embed__inline-toolbar", leftIcons: haveAlignConfig
15
- ? [
16
- {
17
- icon: AlignLeft,
18
- onClick: () => {
19
- Transforms.setNodes(editor, { align: 'left' }, { at: path });
20
- },
21
- active: element.align === 'left' || !element.align,
22
- },
23
- {
24
- icon: AlignCenter,
25
- onClick: () => {
26
- Transforms.setNodes(editor, { align: 'center' }, { at: path });
27
- },
28
- active: element.align === 'center',
29
- },
30
- {
31
- icon: AlignRight,
32
- onClick: () => {
33
- Transforms.setNodes(editor, { align: 'right' }, { at: path });
34
- },
35
- active: element.align === 'right',
36
- },
37
- ]
38
- : [], rightIcons: [
39
- {
40
- icon: Edit,
41
- onClick: () => {
42
- setEmbedModalConfig({
43
- placeholder: placeholder || '',
44
- confirmText: confirmText || '',
45
- hint: hint || '',
46
- type,
47
- onConfirm: (value) => {
48
- onConfirm === null || onConfirm === void 0 ? void 0 : onConfirm(editor, path, value);
14
+ return (React.createElement("div", { className: "qdr-embed" }, children(React.createElement(InlineToolbar, { className: "qdr-embed__inline-toolbar", iconGroups: [
15
+ haveAlignConfig
16
+ ? {
17
+ enabledBgColor: true,
18
+ icons: [
19
+ {
20
+ icon: AlignLeft,
21
+ onClick: () => {
22
+ Transforms.setNodes(editor, { align: 'left' }, { at: path });
23
+ },
24
+ active: element.align === 'left' || !element.align,
49
25
  },
50
- });
51
- },
52
- },
26
+ {
27
+ icon: AlignCenter,
28
+ onClick: () => {
29
+ Transforms.setNodes(editor, { align: 'center' }, { at: path });
30
+ },
31
+ active: element.align === 'center',
32
+ },
33
+ {
34
+ icon: AlignRight,
35
+ onClick: () => {
36
+ Transforms.setNodes(editor, { align: 'right' }, { at: path });
37
+ },
38
+ active: element.align === 'right',
39
+ },
40
+ ],
41
+ }
42
+ : { icons: [] },
53
43
  {
54
- icon: Trash,
55
- onClick: () => {
56
- Transforms.removeNodes(editor, { at: path });
57
- },
44
+ icons: [
45
+ {
46
+ icon: Edit,
47
+ onClick: () => {
48
+ setEmbedModalConfig({
49
+ placeholder: placeholder || '',
50
+ confirmText: confirmText || '',
51
+ hint: hint || '',
52
+ type,
53
+ onConfirm: (value) => {
54
+ onConfirm === null || onConfirm === void 0 ? void 0 : onConfirm(editor, path, value);
55
+ },
56
+ });
57
+ },
58
+ },
59
+ {
60
+ icon: Trash,
61
+ onClick: () => {
62
+ Transforms.removeNodes(editor, { at: path });
63
+ },
64
+ },
65
+ ],
58
66
  },
59
67
  ] }))));
60
68
  };