@webiny/app-website-builder 6.4.0-beta.3 → 6.4.0-beta.4

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 (200) hide show
  1. package/BaseEditor/components/DragPreview/DragCursorWrapper.d.ts +7 -0
  2. package/BaseEditor/components/DragPreview/DragCursorWrapper.js +17 -0
  3. package/BaseEditor/components/DragPreview/DragCursorWrapper.js.map +1 -0
  4. package/BaseEditor/components/DragPreview/DragPreview.js +37 -0
  5. package/BaseEditor/components/DragPreview/DragPreview.js.map +1 -0
  6. package/BaseEditor/components/DragPreview/index.d.ts +1 -0
  7. package/BaseEditor/components/DragPreview/index.js +1 -0
  8. package/BaseEditor/components/DragPreview/useDragPosition.d.ts +4 -0
  9. package/BaseEditor/components/DragPreview/useDragPosition.js +26 -0
  10. package/BaseEditor/components/DragPreview/useDragPosition.js.map +1 -0
  11. package/BaseEditor/components/Editor.js +1 -2
  12. package/BaseEditor/components/Editor.js.map +1 -1
  13. package/BaseEditor/config/EditorConfig.d.ts +4 -2
  14. package/BaseEditor/config/Layout.js +1 -1
  15. package/BaseEditor/config/Layout.js.map +1 -1
  16. package/BaseEditor/config/Sidebar/Layout.js +8 -14
  17. package/BaseEditor/config/Sidebar/Layout.js.map +1 -1
  18. package/BaseEditor/config/Sidebar/Sidebar.d.ts +1 -1
  19. package/BaseEditor/config/Sidebar/Sidebar.js +1 -1
  20. package/BaseEditor/config/Sidebar/Sidebar.js.map +1 -1
  21. package/BaseEditor/config/Sidebar/Tab.d.ts +2 -2
  22. package/BaseEditor/config/Sidebar/Tab.js +3 -3
  23. package/BaseEditor/config/Sidebar/Tab.js.map +1 -1
  24. package/BaseEditor/config/Toolbar/Layout.js +8 -14
  25. package/BaseEditor/config/Toolbar/Layout.js.map +1 -1
  26. package/BaseEditor/config/Toolbar/Tab.d.ts +10 -0
  27. package/BaseEditor/config/Toolbar/Tab.js +13 -0
  28. package/BaseEditor/config/Toolbar/Tab.js.map +1 -0
  29. package/BaseEditor/config/Toolbar/Toolbar.d.ts +1 -0
  30. package/BaseEditor/config/Toolbar/Toolbar.js +4 -2
  31. package/BaseEditor/config/Toolbar/Toolbar.js.map +1 -1
  32. package/BaseEditor/defaultConfig/Content/AddressBar/AddressBar.js +1 -4
  33. package/BaseEditor/defaultConfig/Content/AddressBar/AddressBar.js.map +1 -1
  34. package/BaseEditor/defaultConfig/Content/AddressBar/BreakpointSelector.js +20 -23
  35. package/BaseEditor/defaultConfig/Content/AddressBar/BreakpointSelector.js.map +1 -1
  36. package/BaseEditor/defaultConfig/Content/AddressBar/PreviewDomain.js +1 -1
  37. package/BaseEditor/defaultConfig/Content/AddressBar/PreviewDomain.js.map +1 -1
  38. package/BaseEditor/defaultConfig/Content/Breadcrumbs/styles.js +2 -2
  39. package/BaseEditor/defaultConfig/Content/Breadcrumbs/styles.js.map +1 -1
  40. package/BaseEditor/defaultConfig/Content/ContentPreviewConfig.js +6 -1
  41. package/BaseEditor/defaultConfig/Content/ContentPreviewConfig.js.map +1 -1
  42. package/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.d.ts +3 -0
  43. package/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js +6 -0
  44. package/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js.map +1 -1
  45. package/BaseEditor/defaultConfig/Content/Preview/Iframe.js +1 -1
  46. package/BaseEditor/defaultConfig/Content/Preview/Iframe.js.map +1 -1
  47. package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlay.js +10 -6
  48. package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlay.js.map +1 -1
  49. package/BaseEditor/defaultConfig/Content/Preview/Preview.js +2 -1
  50. package/BaseEditor/defaultConfig/Content/Preview/Preview.js.map +1 -1
  51. package/BaseEditor/defaultConfig/Content/Preview/PreviewContainer.js +12 -2
  52. package/BaseEditor/defaultConfig/Content/Preview/PreviewContainer.js.map +1 -1
  53. package/BaseEditor/defaultConfig/Content/Preview/PreviewEvents.js +1 -2
  54. package/BaseEditor/defaultConfig/Content/Preview/PreviewEvents.js.map +1 -1
  55. package/BaseEditor/defaultConfig/Content/Preview/useResponsiveContainer.js +1 -1
  56. package/BaseEditor/defaultConfig/Content/Preview/useResponsiveContainer.js.map +1 -1
  57. package/BaseEditor/defaultConfig/DefaultEditorConfig.js +3 -5
  58. package/BaseEditor/defaultConfig/DefaultEditorConfig.js.map +1 -1
  59. package/BaseEditor/defaultConfig/Sidebar/ElementPreview.d.ts +7 -0
  60. package/BaseEditor/defaultConfig/Sidebar/ElementPreview.js +23 -0
  61. package/BaseEditor/defaultConfig/Sidebar/ElementPreview.js.map +1 -0
  62. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js +12 -3
  63. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js.map +1 -1
  64. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettingsGroup.js +6 -0
  65. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettingsGroup.js.map +1 -1
  66. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/useBindingsForElement.d.ts +5 -5
  67. package/BaseEditor/defaultConfig/Sidebar/InfoMessage.js +2 -2
  68. package/BaseEditor/defaultConfig/Sidebar/InfoMessage.js.map +1 -1
  69. package/BaseEditor/defaultConfig/Sidebar/InheritanceLabel.js +2 -0
  70. package/BaseEditor/defaultConfig/Sidebar/InheritanceLabel.js.map +1 -1
  71. package/BaseEditor/defaultConfig/Sidebar/SidebarEmptyState.d.ts +4 -0
  72. package/BaseEditor/defaultConfig/Sidebar/SidebarEmptyState.js +12 -0
  73. package/BaseEditor/defaultConfig/Sidebar/SidebarEmptyState.js.map +1 -0
  74. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundColor.js +8 -5
  75. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundColor.js.map +1 -1
  76. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundImage.js +11 -9
  77. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundImage.js.map +1 -1
  78. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundPosition.js +7 -4
  79. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundPosition.js.map +1 -1
  80. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundScaling.js +7 -4
  81. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundScaling.js.map +1 -1
  82. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background.js +8 -4
  83. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background.js.map +1 -1
  84. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/Border.js +1 -1
  85. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/Border.js.map +1 -1
  86. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderColor.js +7 -4
  87. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderColor.js.map +1 -1
  88. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderRadius.js +11 -14
  89. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderRadius.js.map +1 -1
  90. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderStyle.js +7 -4
  91. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderStyle.js.map +1 -1
  92. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderWidth.js +11 -14
  93. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderWidth.js.map +1 -1
  94. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border.js +6 -9
  95. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border.js.map +1 -1
  96. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Layout/Alignment.js +8 -5
  97. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Layout/Alignment.js.map +1 -1
  98. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Layout/LengthWithUnitInput.js +9 -8
  99. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Layout/LengthWithUnitInput.js.map +1 -1
  100. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Layout.js +8 -4
  101. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Layout.js.map +1 -1
  102. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/LinkedEditing.js +1 -5
  103. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/LinkedEditing.js.map +1 -1
  104. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Margin.js +10 -21
  105. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Margin.js.map +1 -1
  106. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/MarginPadding.js +2 -1
  107. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/MarginPadding.js.map +1 -1
  108. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Padding.js +13 -16
  109. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Padding.js.map +1 -1
  110. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding.js +6 -9
  111. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding.js.map +1 -1
  112. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Visibility/Visibility.js +21 -7
  113. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Visibility/Visibility.js.map +1 -1
  114. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/VisibilityGroup.js +4 -3
  115. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/VisibilityGroup.js.map +1 -1
  116. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/SidebarRow.d.ts +8 -0
  117. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/SidebarRow.js +24 -0
  118. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/SidebarRow.js.map +1 -0
  119. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleAccordion.d.ts +8 -0
  120. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleAccordion.js +11 -0
  121. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleAccordion.js.map +1 -0
  122. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleAccordionItem.d.ts +9 -0
  123. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleAccordionItem.js +45 -0
  124. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleAccordionItem.js.map +1 -0
  125. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleProperties.js +8 -3
  126. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleProperties.js.map +1 -1
  127. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleSettingsGroup.js +8 -7
  128. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleSettingsGroup.js.map +1 -1
  129. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StylesStore.js +2 -2
  130. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StylesStore.js.map +1 -1
  131. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/UnitValuePicker.js +3 -1
  132. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/UnitValuePicker.js.map +1 -1
  133. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/ValueSelector.js +9 -8
  134. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/ValueSelector.js.map +1 -1
  135. package/BaseEditor/defaultConfig/Toolbar/InsertElements/GridItem.d.ts +5 -0
  136. package/BaseEditor/defaultConfig/Toolbar/InsertElements/GridItem.js +24 -0
  137. package/BaseEditor/defaultConfig/Toolbar/InsertElements/GridItem.js.map +1 -0
  138. package/BaseEditor/defaultConfig/Toolbar/InsertElements/GroupItemsGrid.d.ts +7 -0
  139. package/BaseEditor/defaultConfig/Toolbar/InsertElements/GroupItemsGrid.js +18 -0
  140. package/BaseEditor/defaultConfig/Toolbar/InsertElements/GroupItemsGrid.js.map +1 -0
  141. package/BaseEditor/defaultConfig/Toolbar/InsertElements/GroupItemsList.d.ts +7 -0
  142. package/BaseEditor/defaultConfig/Toolbar/InsertElements/GroupItemsList.js +18 -0
  143. package/BaseEditor/defaultConfig/Toolbar/InsertElements/GroupItemsList.js.map +1 -0
  144. package/BaseEditor/defaultConfig/Toolbar/InsertElements/InsertElements.js +72 -36
  145. package/BaseEditor/defaultConfig/Toolbar/InsertElements/InsertElements.js.map +1 -1
  146. package/BaseEditor/defaultConfig/Toolbar/InsertElements/InsertElementsTab.js +6 -7
  147. package/BaseEditor/defaultConfig/Toolbar/InsertElements/InsertElementsTab.js.map +1 -1
  148. package/BaseEditor/defaultConfig/Toolbar/InsertElements/ListItem.d.ts +5 -0
  149. package/BaseEditor/defaultConfig/Toolbar/InsertElements/ListItem.js +23 -0
  150. package/BaseEditor/defaultConfig/Toolbar/InsertElements/ListItem.js.map +1 -0
  151. package/BaseEditor/defaultConfig/Toolbar/Navigator/ElementActions.d.ts +4 -0
  152. package/BaseEditor/defaultConfig/Toolbar/Navigator/ElementActions.js +29 -0
  153. package/BaseEditor/defaultConfig/Toolbar/Navigator/ElementActions.js.map +1 -0
  154. package/BaseEditor/defaultConfig/Toolbar/Navigator/LayoutIllustration.d.ts +2 -0
  155. package/BaseEditor/defaultConfig/Toolbar/Navigator/LayoutIllustration.js +94 -0
  156. package/BaseEditor/defaultConfig/Toolbar/Navigator/LayoutIllustration.js.map +1 -0
  157. package/BaseEditor/defaultConfig/Toolbar/Navigator/Navigator.js +12 -111
  158. package/BaseEditor/defaultConfig/Toolbar/Navigator/Navigator.js.map +1 -1
  159. package/BaseEditor/defaultConfig/Toolbar/Navigator/NavigatorEmptyState.d.ts +2 -0
  160. package/BaseEditor/defaultConfig/Toolbar/Navigator/NavigatorEmptyState.js +20 -0
  161. package/BaseEditor/defaultConfig/Toolbar/Navigator/NavigatorEmptyState.js.map +1 -0
  162. package/BaseEditor/defaultConfig/Toolbar/Navigator/NavigatorTab.js +6 -7
  163. package/BaseEditor/defaultConfig/Toolbar/Navigator/NavigatorTab.js.map +1 -1
  164. package/BaseEditor/defaultConfig/Toolbar/Navigator/Placeholder.d.ts +7 -0
  165. package/BaseEditor/defaultConfig/Toolbar/Navigator/Placeholder.js +16 -0
  166. package/BaseEditor/defaultConfig/Toolbar/Navigator/Placeholder.js.map +1 -0
  167. package/BaseEditor/defaultConfig/Toolbar/Navigator/navigatorUtils.d.ts +32 -0
  168. package/BaseEditor/defaultConfig/Toolbar/Navigator/navigatorUtils.js +70 -0
  169. package/BaseEditor/defaultConfig/Toolbar/Navigator/navigatorUtils.js.map +1 -0
  170. package/BaseEditor/hooks/useCreateElement.d.ts +1 -1
  171. package/BaseEditor/hooks/useCreateElement.js +1 -3
  172. package/BaseEditor/hooks/useCreateElement.js.map +1 -1
  173. package/ecommerce/EcommerceIntegration.js +1 -1
  174. package/ecommerce/EcommerceIntegration.js.map +1 -1
  175. package/ecommerce/components/ResourcePage.d.ts +1 -1
  176. package/ecommerce/components/ResourcePage.js +1 -1
  177. package/ecommerce/components/ResourcePage.js.map +1 -1
  178. package/features/ecommerce/apis/useEcommerceApi.js +3 -1
  179. package/features/ecommerce/apis/useEcommerceApi.js.map +1 -1
  180. package/inputRenderers/BooleanInput.js +15 -4
  181. package/inputRenderers/BooleanInput.js.map +1 -1
  182. package/inputRenderers/LexicalInput/DefaultLexicalConfig.js +4 -1
  183. package/inputRenderers/LexicalInput/DefaultLexicalConfig.js.map +1 -1
  184. package/inputRenderers/LexicalInput/ExpandEditorAction.js +4 -1
  185. package/inputRenderers/LexicalInput/ExpandEditorAction.js.map +1 -1
  186. package/inputRenderers/LexicalInput/LexicalEditor.js +1 -0
  187. package/inputRenderers/LexicalInput/LexicalEditor.js.map +1 -1
  188. package/inputRenderers/LexicalInput/LexicalInput.js +1 -0
  189. package/inputRenderers/LexicalInput/LexicalInput.js.map +1 -1
  190. package/inputRenderers/LexicalInput/wbStaticToolbar.css +1 -1
  191. package/inputRenderers/TextInput.js +3 -1
  192. package/inputRenderers/TextInput.js.map +1 -1
  193. package/modules/pages/PageEditor/PageEditorConfig.d.ts +4 -2
  194. package/package.json +31 -29
  195. package/BaseEditor/components/DragPreview.js +0 -59
  196. package/BaseEditor/components/DragPreview.js.map +0 -1
  197. package/ecommerce/components/adaptInputToBind.d.ts +0 -6
  198. package/ecommerce/components/adaptInputToBind.js +0 -26
  199. package/ecommerce/components/adaptInputToBind.js.map +0 -1
  200. /package/BaseEditor/components/{DragPreview.d.ts → DragPreview/DragPreview.d.ts} +0 -0
@@ -58,19 +58,12 @@ const Margin = observer(({ elementId, children })=>{
58
58
  else marginTop.onReset();
59
59
  };
60
60
  const rowClassname = "flex flex-row w-full justify-center items-center";
61
- return /*#__PURE__*/ react.createElement("div", {
62
- className: "flex flex-col rounded-md relative"
61
+ return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement("div", {
62
+ className: "grid grid-cols-3 items-center"
63
63
  }, /*#__PURE__*/ react.createElement("span", {
64
- className: "absolute text-sm",
65
- style: {
66
- top: 5,
67
- left: 7
68
- }
64
+ className: "text-sm text-neutral-strong"
69
65
  }, "Margin"), /*#__PURE__*/ react.createElement("div", {
70
- className: rowClassname,
71
- style: {
72
- paddingTop: "8px"
73
- }
66
+ className: "flex justify-center"
74
67
  }, /*#__PURE__*/ react.createElement(ValueSelector, {
75
68
  label: linked ? "Margin" : "Top margin",
76
69
  ...marginTop,
@@ -78,14 +71,13 @@ const Margin = observer(({ elementId, children })=>{
78
71
  units: heightOptions,
79
72
  onChange: onMarginTopChange,
80
73
  onChangePreview: onMarginTopPreviewChange
81
- })), /*#__PURE__*/ react.createElement(LinkedEditing, {
74
+ })), /*#__PURE__*/ react.createElement("div", {
75
+ className: "flex justify-end"
76
+ }, /*#__PURE__*/ react.createElement(LinkedEditing, {
82
77
  linked: linked,
83
78
  onToggle: onToggleLinkedEditing
84
- }), /*#__PURE__*/ react.createElement("div", {
85
- className: rowClassname,
86
- style: {
87
- paddingTop: "8px"
88
- }
79
+ }))), /*#__PURE__*/ react.createElement("div", {
80
+ className: rowClassname
89
81
  }, /*#__PURE__*/ react.createElement(ValueSelector, {
90
82
  label: "Left margin",
91
83
  ...marginLeft,
@@ -97,10 +89,7 @@ const Margin = observer(({ elementId, children })=>{
97
89
  units: widthOptions,
98
90
  disabled: linked
99
91
  })), /*#__PURE__*/ react.createElement("div", {
100
- className: rowClassname,
101
- style: {
102
- padding: "8px 0"
103
- }
92
+ className: rowClassname
104
93
  }, /*#__PURE__*/ react.createElement(ValueSelector, {
105
94
  label: "Bottom margin",
106
95
  ...marginBottom,
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Margin.js","sources":["../../../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Margin.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useStyles } from \"../../useStyles.js\";\nimport { LinkedEditing } from \"./LinkedEditing.js\";\nimport { ValueSelector } from \"../../ValueSelector.js\";\nimport { UnitsOptions } from \"../../UnitsOptions.js\";\nimport { useStyleValue } from \"../../useStyleValue.js\";\n\nconst additionalUnits = [\"auto\", \"unset\"];\n\nconst widthOptions = UnitsOptions.widthUnits()\n .add(...additionalUnits)\n .getOptions();\n\nconst heightOptions = UnitsOptions.heightUnits()\n .add(...additionalUnits)\n .getOptions();\n\ninterface MarginProps {\n elementId: string;\n children: React.ReactNode;\n}\n\nexport const Margin = observer(({ elementId, children }: MarginProps) => {\n const { onChange, onPreviewChange, metadata } = useStyles(elementId);\n\n const marginTop = useStyleValue(elementId, \"marginTop\");\n const marginRight = useStyleValue(elementId, \"marginRight\");\n const marginBottom = useStyleValue(elementId, \"marginBottom\");\n const marginLeft = useStyleValue(elementId, \"marginLeft\");\n\n const linked = metadata.get<boolean>(\"marginLinkedEditing\") ?? true;\n\n const onToggleLinkedEditing = (linked: boolean) => {\n onChange(({ styles, metadata }) => {\n if (linked) {\n const isKeyword = marginTop.isKeyword;\n const value = isKeyword\n ? marginTop.value\n : `${marginTop.value ?? 0}${marginTop.unit}`;\n styles.set(\"marginRight\", value);\n styles.set(\"marginBottom\", value);\n styles.set(\"marginLeft\", value);\n }\n metadata.set(\"marginLinkedEditing\", linked);\n });\n };\n\n const onMarginTopChange = (value: string) => {\n if (linked) {\n onChange(({ styles }) => {\n styles.set(\"marginTop\", value);\n styles.set(\"marginRight\", value);\n styles.set(\"marginBottom\", value);\n styles.set(\"marginLeft\", value);\n });\n } else {\n marginTop.onChange(value);\n }\n };\n\n const onMarginTopPreviewChange = (value: string) => {\n if (linked) {\n onPreviewChange(({ styles }) => {\n styles.set(\"marginTop\", value);\n styles.set(\"marginRight\", value);\n styles.set(\"marginBottom\", value);\n styles.set(\"marginLeft\", value);\n });\n } else {\n marginTop.onChangePreview(value);\n }\n };\n\n const onReset = () => {\n if (linked) {\n onChange(({ styles }) => {\n styles.unset(\"marginTop\");\n styles.unset(\"marginRight\");\n styles.unset(\"marginBottom\");\n styles.unset(\"marginLeft\");\n });\n } else {\n marginTop.onReset();\n }\n };\n\n const rowClassname = \"flex flex-row w-full justify-center items-center\";\n\n return (\n <div className=\"flex flex-col rounded-md relative\">\n {/* Margin Label */}\n <span className=\"absolute text-sm\" style={{ top: 5, left: 7 }}>\n Margin\n </span>\n\n {/* Top Margin */}\n <div className={rowClassname} style={{ paddingTop: \"8px\" }}>\n <ValueSelector\n label={linked ? \"Margin\" : \"Top margin\"}\n {...marginTop}\n onReset={onReset}\n units={heightOptions}\n onChange={onMarginTopChange}\n onChangePreview={onMarginTopPreviewChange}\n />\n </div>\n\n <LinkedEditing linked={linked} onToggle={onToggleLinkedEditing} />\n\n {/* Middle Row (Left Margin + Padding Box + Right Margin) */}\n <div className={rowClassname} style={{ paddingTop: \"8px\" }}>\n <ValueSelector\n label={\"Left margin\"}\n {...marginLeft}\n units={widthOptions}\n disabled={linked}\n />\n {children}\n <ValueSelector\n label={\"Right margin\"}\n {...marginRight}\n units={widthOptions}\n disabled={linked}\n />\n </div>\n\n {/* Bottom Margin */}\n <div className={rowClassname} style={{ padding: \"8px 0\" }}>\n <ValueSelector\n label={\"Bottom margin\"}\n {...marginBottom}\n units={heightOptions}\n disabled={linked}\n />\n </div>\n </div>\n );\n});\n"],"names":["additionalUnits","widthOptions","UnitsOptions","heightOptions","Margin","observer","elementId","children","onChange","onPreviewChange","metadata","useStyles","marginTop","useStyleValue","marginRight","marginBottom","marginLeft","linked","onToggleLinkedEditing","styles","isKeyword","value","onMarginTopChange","onMarginTopPreviewChange","onReset","rowClassname","ValueSelector","LinkedEditing"],"mappings":";;;;;;;AAQA,MAAMA,kBAAkB;IAAC;IAAQ;CAAQ;AAEzC,MAAMC,eAAeC,aAAa,UAAU,GACvC,GAAG,IAAIF,iBACP,UAAU;AAEf,MAAMG,gBAAgBD,aAAa,WAAW,GACzC,GAAG,IAAIF,iBACP,UAAU;AAOR,MAAMI,SAASC,SAAS,CAAC,EAAEC,SAAS,EAAEC,QAAQ,EAAe;IAChE,MAAM,EAAEC,QAAQ,EAAEC,eAAe,EAAEC,QAAQ,EAAE,GAAGC,UAAUL;IAE1D,MAAMM,YAAYC,cAAcP,WAAW;IAC3C,MAAMQ,cAAcD,cAAcP,WAAW;IAC7C,MAAMS,eAAeF,cAAcP,WAAW;IAC9C,MAAMU,aAAaH,cAAcP,WAAW;IAE5C,MAAMW,SAASP,SAAS,GAAG,CAAU,0BAA0B;IAE/D,MAAMQ,wBAAwB,CAACD;QAC3BT,SAAS,CAAC,EAAEW,MAAM,EAAET,QAAQ,EAAE;YAC1B,IAAIO,QAAQ;gBACR,MAAMG,YAAYR,UAAU,SAAS;gBACrC,MAAMS,QAAQD,YACRR,UAAU,KAAK,GACf,GAAGA,UAAU,KAAK,IAAI,IAAIA,UAAU,IAAI,EAAE;gBAChDO,OAAO,GAAG,CAAC,eAAeE;gBAC1BF,OAAO,GAAG,CAAC,gBAAgBE;gBAC3BF,OAAO,GAAG,CAAC,cAAcE;YAC7B;YACAX,SAAS,GAAG,CAAC,uBAAuBO;QACxC;IACJ;IAEA,MAAMK,oBAAoB,CAACD;QACvB,IAAIJ,QACAT,SAAS,CAAC,EAAEW,MAAM,EAAE;YAChBA,OAAO,GAAG,CAAC,aAAaE;YACxBF,OAAO,GAAG,CAAC,eAAeE;YAC1BF,OAAO,GAAG,CAAC,gBAAgBE;YAC3BF,OAAO,GAAG,CAAC,cAAcE;QAC7B;aAEAT,UAAU,QAAQ,CAACS;IAE3B;IAEA,MAAME,2BAA2B,CAACF;QAC9B,IAAIJ,QACAR,gBAAgB,CAAC,EAAEU,MAAM,EAAE;YACvBA,OAAO,GAAG,CAAC,aAAaE;YACxBF,OAAO,GAAG,CAAC,eAAeE;YAC1BF,OAAO,GAAG,CAAC,gBAAgBE;YAC3BF,OAAO,GAAG,CAAC,cAAcE;QAC7B;aAEAT,UAAU,eAAe,CAACS;IAElC;IAEA,MAAMG,UAAU;QACZ,IAAIP,QACAT,SAAS,CAAC,EAAEW,MAAM,EAAE;YAChBA,OAAO,KAAK,CAAC;YACbA,OAAO,KAAK,CAAC;YACbA,OAAO,KAAK,CAAC;YACbA,OAAO,KAAK,CAAC;QACjB;aAEAP,UAAU,OAAO;IAEzB;IAEA,MAAMa,eAAe;IAErB,OAAO,WAAP,GACI,oBAAC;QAAI,WAAU;qBAEX,oBAAC;QAAK,WAAU;QAAmB,OAAO;YAAE,KAAK;YAAG,MAAM;QAAE;OAAG,yBAK/D,oBAAC;QAAI,WAAWA;QAAc,OAAO;YAAE,YAAY;QAAM;qBACrD,oBAACC,eAAaA;QACV,OAAOT,SAAS,WAAW;QAC1B,GAAGL,SAAS;QACb,SAASY;QACT,OAAOrB;QACP,UAAUmB;QACV,iBAAiBC;uBAIzB,oBAACI,eAAaA;QAAC,QAAQV;QAAQ,UAAUC;sBAGzC,oBAAC;QAAI,WAAWO;QAAc,OAAO;YAAE,YAAY;QAAM;qBACrD,oBAACC,eAAaA;QACV,OAAO;QACN,GAAGV,UAAU;QACd,OAAOf;QACP,UAAUgB;QAEbV,UAAAA,WAAAA,GACD,oBAACmB,eAAaA;QACV,OAAO;QACN,GAAGZ,WAAW;QACf,OAAOb;QACP,UAAUgB;uBAKlB,oBAAC;QAAI,WAAWQ;QAAc,OAAO;YAAE,SAAS;QAAQ;qBACpD,oBAACC,eAAaA;QACV,OAAO;QACN,GAAGX,YAAY;QAChB,OAAOZ;QACP,UAAUc;;AAK9B"}
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Margin.js","sources":["../../../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Margin.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useStyles } from \"../../useStyles.js\";\nimport { LinkedEditing } from \"./LinkedEditing.js\";\nimport { ValueSelector } from \"../../ValueSelector.js\";\nimport { UnitsOptions } from \"../../UnitsOptions.js\";\nimport { useStyleValue } from \"../../useStyleValue.js\";\n\nconst additionalUnits = [\"auto\", \"unset\"];\n\nconst widthOptions = UnitsOptions.widthUnits()\n .add(...additionalUnits)\n .getOptions();\n\nconst heightOptions = UnitsOptions.heightUnits()\n .add(...additionalUnits)\n .getOptions();\n\ninterface MarginProps {\n elementId: string;\n children: React.ReactNode;\n}\n\nexport const Margin = observer(({ elementId, children }: MarginProps) => {\n const { onChange, onPreviewChange, metadata } = useStyles(elementId);\n\n const marginTop = useStyleValue(elementId, \"marginTop\");\n const marginRight = useStyleValue(elementId, \"marginRight\");\n const marginBottom = useStyleValue(elementId, \"marginBottom\");\n const marginLeft = useStyleValue(elementId, \"marginLeft\");\n\n const linked = metadata.get<boolean>(\"marginLinkedEditing\") ?? true;\n\n const onToggleLinkedEditing = (linked: boolean) => {\n onChange(({ styles, metadata }) => {\n if (linked) {\n const isKeyword = marginTop.isKeyword;\n const value = isKeyword\n ? marginTop.value\n : `${marginTop.value ?? 0}${marginTop.unit}`;\n styles.set(\"marginRight\", value);\n styles.set(\"marginBottom\", value);\n styles.set(\"marginLeft\", value);\n }\n metadata.set(\"marginLinkedEditing\", linked);\n });\n };\n\n const onMarginTopChange = (value: string) => {\n if (linked) {\n onChange(({ styles }) => {\n styles.set(\"marginTop\", value);\n styles.set(\"marginRight\", value);\n styles.set(\"marginBottom\", value);\n styles.set(\"marginLeft\", value);\n });\n } else {\n marginTop.onChange(value);\n }\n };\n\n const onMarginTopPreviewChange = (value: string) => {\n if (linked) {\n onPreviewChange(({ styles }) => {\n styles.set(\"marginTop\", value);\n styles.set(\"marginRight\", value);\n styles.set(\"marginBottom\", value);\n styles.set(\"marginLeft\", value);\n });\n } else {\n marginTop.onChangePreview(value);\n }\n };\n\n const onReset = () => {\n if (linked) {\n onChange(({ styles }) => {\n styles.unset(\"marginTop\");\n styles.unset(\"marginRight\");\n styles.unset(\"marginBottom\");\n styles.unset(\"marginLeft\");\n });\n } else {\n marginTop.onReset();\n }\n };\n\n const rowClassname = \"flex flex-row w-full justify-center items-center\";\n\n return (\n <>\n {/* Top Margin */}\n <div className={\"grid grid-cols-3 items-center\"}>\n <span className=\"text-sm text-neutral-strong\">Margin</span>\n\n <div className={\"flex justify-center\"}>\n <ValueSelector\n label={linked ? \"Margin\" : \"Top margin\"}\n {...marginTop}\n onReset={onReset}\n units={heightOptions}\n onChange={onMarginTopChange}\n onChangePreview={onMarginTopPreviewChange}\n />\n </div>\n\n <div className={\"flex justify-end\"}>\n <LinkedEditing linked={linked} onToggle={onToggleLinkedEditing} />\n </div>\n </div>\n\n {/* Middle Row (Left Margin + Padding Box + Right Margin) */}\n <div className={rowClassname}>\n <ValueSelector\n label={\"Left margin\"}\n {...marginLeft}\n units={widthOptions}\n disabled={linked}\n />\n {children}\n <ValueSelector\n label={\"Right margin\"}\n {...marginRight}\n units={widthOptions}\n disabled={linked}\n />\n </div>\n\n {/* Bottom Margin */}\n <div className={rowClassname}>\n <ValueSelector\n label={\"Bottom margin\"}\n {...marginBottom}\n units={heightOptions}\n disabled={linked}\n />\n </div>\n </>\n );\n});\n"],"names":["additionalUnits","widthOptions","UnitsOptions","heightOptions","Margin","observer","elementId","children","onChange","onPreviewChange","metadata","useStyles","marginTop","useStyleValue","marginRight","marginBottom","marginLeft","linked","onToggleLinkedEditing","styles","isKeyword","value","onMarginTopChange","onMarginTopPreviewChange","onReset","rowClassname","ValueSelector","LinkedEditing"],"mappings":";;;;;;;AAQA,MAAMA,kBAAkB;IAAC;IAAQ;CAAQ;AAEzC,MAAMC,eAAeC,aAAa,UAAU,GACvC,GAAG,IAAIF,iBACP,UAAU;AAEf,MAAMG,gBAAgBD,aAAa,WAAW,GACzC,GAAG,IAAIF,iBACP,UAAU;AAOR,MAAMI,SAASC,SAAS,CAAC,EAAEC,SAAS,EAAEC,QAAQ,EAAe;IAChE,MAAM,EAAEC,QAAQ,EAAEC,eAAe,EAAEC,QAAQ,EAAE,GAAGC,UAAUL;IAE1D,MAAMM,YAAYC,cAAcP,WAAW;IAC3C,MAAMQ,cAAcD,cAAcP,WAAW;IAC7C,MAAMS,eAAeF,cAAcP,WAAW;IAC9C,MAAMU,aAAaH,cAAcP,WAAW;IAE5C,MAAMW,SAASP,SAAS,GAAG,CAAU,0BAA0B;IAE/D,MAAMQ,wBAAwB,CAACD;QAC3BT,SAAS,CAAC,EAAEW,MAAM,EAAET,QAAQ,EAAE;YAC1B,IAAIO,QAAQ;gBACR,MAAMG,YAAYR,UAAU,SAAS;gBACrC,MAAMS,QAAQD,YACRR,UAAU,KAAK,GACf,GAAGA,UAAU,KAAK,IAAI,IAAIA,UAAU,IAAI,EAAE;gBAChDO,OAAO,GAAG,CAAC,eAAeE;gBAC1BF,OAAO,GAAG,CAAC,gBAAgBE;gBAC3BF,OAAO,GAAG,CAAC,cAAcE;YAC7B;YACAX,SAAS,GAAG,CAAC,uBAAuBO;QACxC;IACJ;IAEA,MAAMK,oBAAoB,CAACD;QACvB,IAAIJ,QACAT,SAAS,CAAC,EAAEW,MAAM,EAAE;YAChBA,OAAO,GAAG,CAAC,aAAaE;YACxBF,OAAO,GAAG,CAAC,eAAeE;YAC1BF,OAAO,GAAG,CAAC,gBAAgBE;YAC3BF,OAAO,GAAG,CAAC,cAAcE;QAC7B;aAEAT,UAAU,QAAQ,CAACS;IAE3B;IAEA,MAAME,2BAA2B,CAACF;QAC9B,IAAIJ,QACAR,gBAAgB,CAAC,EAAEU,MAAM,EAAE;YACvBA,OAAO,GAAG,CAAC,aAAaE;YACxBF,OAAO,GAAG,CAAC,eAAeE;YAC1BF,OAAO,GAAG,CAAC,gBAAgBE;YAC3BF,OAAO,GAAG,CAAC,cAAcE;QAC7B;aAEAT,UAAU,eAAe,CAACS;IAElC;IAEA,MAAMG,UAAU;QACZ,IAAIP,QACAT,SAAS,CAAC,EAAEW,MAAM,EAAE;YAChBA,OAAO,KAAK,CAAC;YACbA,OAAO,KAAK,CAAC;YACbA,OAAO,KAAK,CAAC;YACbA,OAAO,KAAK,CAAC;QACjB;aAEAP,UAAU,OAAO;IAEzB;IAEA,MAAMa,eAAe;IAErB,OAAO,WAAP,GACI,wDAEI,oBAAC;QAAI,WAAW;qBACZ,oBAAC;QAAK,WAAU;OAA8B,yBAE9C,oBAAC;QAAI,WAAW;qBACZ,oBAACC,eAAaA;QACV,OAAOT,SAAS,WAAW;QAC1B,GAAGL,SAAS;QACb,SAASY;QACT,OAAOrB;QACP,UAAUmB;QACV,iBAAiBC;uBAIzB,oBAAC;QAAI,WAAW;qBACZ,oBAACI,eAAaA;QAAC,QAAQV;QAAQ,UAAUC;wBAKjD,oBAAC;QAAI,WAAWO;qBACZ,oBAACC,eAAaA;QACV,OAAO;QACN,GAAGV,UAAU;QACd,OAAOf;QACP,UAAUgB;QAEbV,UAAAA,WAAAA,GACD,oBAACmB,eAAaA;QACV,OAAO;QACN,GAAGZ,WAAW;QACf,OAAOb;QACP,UAAUgB;uBAKlB,oBAAC;QAAI,WAAWQ;qBACZ,oBAACC,eAAaA;QACV,OAAO;QACN,GAAGX,YAAY;QAChB,OAAOZ;QACP,UAAUc;;AAK9B"}
@@ -2,7 +2,8 @@ import react from "react";
2
2
  import { Margin } from "./Margin.js";
3
3
  import { Padding } from "./Padding.js";
4
4
  const MarginPaddingControl = ({ elementId })=>/*#__PURE__*/ react.createElement("div", {
5
- className: "bg-neutral-light text-neutral-strong w-full rounded-md border-sm border-neutral-muted"
5
+ "data-role": "margin-padding",
6
+ className: "bg-neutral-light text-neutral-strong w-full rounded-md p-sm rounded-xl flex flex-col gap-y-sm"
6
7
  }, /*#__PURE__*/ react.createElement(Margin, {
7
8
  elementId: elementId
8
9
  }, /*#__PURE__*/ react.createElement(Padding, {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/MarginPadding.js","sources":["../../../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/MarginPadding.tsx"],"sourcesContent":["import React from \"react\";\nimport { Margin } from \"./Margin.js\";\nimport { Padding } from \"./Padding.js\";\n\nexport const MarginPaddingControl = ({ elementId }: { elementId: string }) => {\n return (\n <div className=\"bg-neutral-light text-neutral-strong w-full rounded-md border-sm border-neutral-muted\">\n <Margin elementId={elementId}>\n <Padding elementId={elementId} />\n </Margin>\n </div>\n );\n};\n"],"names":["MarginPaddingControl","elementId","Margin","Padding"],"mappings":";;;AAIO,MAAMA,uBAAuB,CAAC,EAAEC,SAAS,EAAyB,GAC9D,WAAP,GACI,oBAAC;QAAI,WAAU;qBACX,oBAACC,QAAMA;QAAC,WAAWD;qBACf,oBAACE,SAAOA;QAAC,WAAWF"}
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/MarginPadding.js","sources":["../../../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/MarginPadding.tsx"],"sourcesContent":["import React from \"react\";\nimport { Margin } from \"./Margin.js\";\nimport { Padding } from \"./Padding.js\";\n\nexport const MarginPaddingControl = ({ elementId }: { elementId: string }) => {\n return (\n <div\n data-role=\"margin-padding\"\n className=\"bg-neutral-light text-neutral-strong w-full rounded-md p-sm rounded-xl flex flex-col gap-y-sm\"\n >\n <Margin elementId={elementId}>\n <Padding elementId={elementId} />\n </Margin>\n </div>\n );\n};\n"],"names":["MarginPaddingControl","elementId","Margin","Padding"],"mappings":";;;AAIO,MAAMA,uBAAuB,CAAC,EAAEC,SAAS,EAAyB,GAC9D,WAAP,GACI,oBAAC;QACG,aAAU;QACV,WAAU;qBAEV,oBAACC,QAAMA;QAAC,WAAWD;qBACf,oBAACE,SAAOA;QAAC,WAAWF"}
@@ -52,23 +52,15 @@ const Padding = observer(({ elementId })=>{
52
52
  });
53
53
  else paddingTop.onReset();
54
54
  };
55
- const rowClassname = "flex flex-row w-full justify-center items-center py-xs";
55
+ const rowClassname = "flex flex-row w-full justify-center items-center";
56
56
  return /*#__PURE__*/ react.createElement("div", {
57
- className: "flex flex-col items-center bg-neutral-muted border-sm border-neutral-muted relative rounded-md"
57
+ className: "flex flex-col items-center bg-neutral-disabled relative rounded-lg p-sm"
58
+ }, /*#__PURE__*/ react.createElement("div", {
59
+ className: "grid grid-cols-3 items-center w-full"
58
60
  }, /*#__PURE__*/ react.createElement("span", {
59
- className: "absolute text-sm",
60
- style: {
61
- top: 3,
62
- left: 5
63
- }
64
- }, "Padding"), /*#__PURE__*/ react.createElement(LinkedEditing, {
65
- linked: linked,
66
- onToggle: onToggleLinkedEditing
67
- }), /*#__PURE__*/ react.createElement("div", {
68
- className: rowClassname,
69
- style: {
70
- paddingTop: "8px"
71
- }
61
+ className: "text-sm text-neutral-strong"
62
+ }, "Padding"), /*#__PURE__*/ react.createElement("div", {
63
+ className: "flex justify-center"
72
64
  }, /*#__PURE__*/ react.createElement(ValueSelector, {
73
65
  label: "Top padding",
74
66
  ...paddingTop,
@@ -77,10 +69,15 @@ const Padding = observer(({ elementId })=>{
77
69
  onChange: onPaddingTopChange,
78
70
  onChangePreview: onPaddingTopPreviewChange
79
71
  })), /*#__PURE__*/ react.createElement("div", {
72
+ className: "flex justify-end"
73
+ }, /*#__PURE__*/ react.createElement(LinkedEditing, {
74
+ linked: linked,
75
+ onToggle: onToggleLinkedEditing
76
+ }))), /*#__PURE__*/ react.createElement("div", {
80
77
  className: rowClassname,
81
78
  style: {
82
79
  width: 168,
83
- paddingTop: "8px"
80
+ paddingTop: "16px"
84
81
  }
85
82
  }, /*#__PURE__*/ react.createElement(ValueSelector, {
86
83
  label: "Left padding",
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Padding.js","sources":["../../../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Padding.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { LinkedEditing } from \"./LinkedEditing.js\";\nimport { useStyles } from \"../../useStyles.js\";\nimport { ValueSelector } from \"../../ValueSelector.js\";\nimport { useStyleValue } from \"../../useStyleValue.js\";\nimport { UnitsOptions } from \"../../UnitsOptions.js\";\n\nconst widthOptions = UnitsOptions.widthUnits().getOptions();\nconst heightOptions = UnitsOptions.heightUnits().getOptions();\n\ninterface PaddingProps {\n elementId: string;\n}\n\nexport const Padding = observer(({ elementId }: PaddingProps) => {\n const { onChange, onPreviewChange, metadata } = useStyles(elementId);\n\n const paddingTop = useStyleValue(elementId, \"paddingTop\");\n const paddingRight = useStyleValue(elementId, \"paddingRight\");\n const paddingBottom = useStyleValue(elementId, \"paddingBottom\");\n const paddingLeft = useStyleValue(elementId, \"paddingLeft\");\n\n const linked = metadata.get<boolean>(\"paddingLinkedEditing\") ?? true;\n\n const onToggleLinkedEditing = (linked: boolean) => {\n onChange(({ styles, metadata }) => {\n if (linked) {\n const value = `${paddingTop.value ?? 0}${paddingTop.unit}`;\n styles.set(\"paddingRight\", value);\n styles.set(\"paddingBottom\", value);\n styles.set(\"paddingLeft\", value);\n }\n metadata.set(\"paddingLinkedEditing\", linked);\n });\n };\n\n const onPaddingTopChange = (value: string) => {\n if (linked) {\n onChange(({ styles }) => {\n styles.set(\"paddingTop\", value);\n styles.set(\"paddingRight\", value);\n styles.set(\"paddingBottom\", value);\n styles.set(\"paddingLeft\", value);\n });\n } else {\n paddingTop.onChange(value);\n }\n };\n\n const onPaddingTopPreviewChange = (value: string) => {\n if (linked) {\n onPreviewChange(({ styles }) => {\n styles.set(\"paddingTop\", value);\n styles.set(\"paddingRight\", value);\n styles.set(\"paddingBottom\", value);\n styles.set(\"paddingLeft\", value);\n });\n } else {\n paddingTop.onChangePreview(value);\n }\n };\n\n const onReset = () => {\n if (linked) {\n onChange(({ styles }) => {\n styles.unset(\"paddingTop\");\n styles.unset(\"paddingRight\");\n styles.unset(\"paddingBottom\");\n styles.unset(\"paddingLeft\");\n });\n } else {\n paddingTop.onReset();\n }\n };\n\n const rowClassname = \"flex flex-row w-full justify-center items-center py-xs\";\n\n return (\n <div className=\"flex flex-col items-center bg-neutral-muted border-sm border-neutral-muted relative rounded-md\">\n <span className=\"absolute text-sm\" style={{ top: 3, left: 5 }}>\n Padding\n </span>\n\n <LinkedEditing linked={linked} onToggle={onToggleLinkedEditing} />\n\n {/* Top Padding */}\n <div className={rowClassname} style={{ paddingTop: \"8px\" }}>\n <ValueSelector\n label={\"Top padding\"}\n {...paddingTop}\n onReset={onReset}\n units={heightOptions}\n onChange={onPaddingTopChange}\n onChangePreview={onPaddingTopPreviewChange}\n />\n </div>\n\n {/* Center Row (Left Padding + Content + Right Padding) */}\n <div className={rowClassname} style={{ width: 168, paddingTop: \"8px\" }}>\n <ValueSelector\n label={\"Left padding\"}\n {...paddingLeft}\n units={widthOptions}\n disabled={linked}\n />\n <div\n className=\"flex border-sm border-neutral-muted bg-neutral-light rounded-md items-center justify-center\"\n style={{ width: 170, height: 30 }}\n >\n -\n </div>\n <ValueSelector\n label={\"Right padding\"}\n {...paddingRight}\n units={widthOptions}\n disabled={linked}\n />\n </div>\n\n {/* Bottom Padding */}\n <div className={rowClassname} style={{ padding: \"8px 0\" }}>\n <ValueSelector\n label={\"Bottom padding\"}\n {...paddingBottom}\n units={heightOptions}\n disabled={linked}\n />\n </div>\n </div>\n );\n});\n"],"names":["widthOptions","UnitsOptions","heightOptions","Padding","observer","elementId","onChange","onPreviewChange","metadata","useStyles","paddingTop","useStyleValue","paddingRight","paddingBottom","paddingLeft","linked","onToggleLinkedEditing","styles","value","onPaddingTopChange","onPaddingTopPreviewChange","onReset","rowClassname","LinkedEditing","ValueSelector"],"mappings":";;;;;;;AAQA,MAAMA,eAAeC,aAAa,UAAU,GAAG,UAAU;AACzD,MAAMC,gBAAgBD,aAAa,WAAW,GAAG,UAAU;AAMpD,MAAME,UAAUC,SAAS,CAAC,EAAEC,SAAS,EAAgB;IACxD,MAAM,EAAEC,QAAQ,EAAEC,eAAe,EAAEC,QAAQ,EAAE,GAAGC,UAAUJ;IAE1D,MAAMK,aAAaC,cAAcN,WAAW;IAC5C,MAAMO,eAAeD,cAAcN,WAAW;IAC9C,MAAMQ,gBAAgBF,cAAcN,WAAW;IAC/C,MAAMS,cAAcH,cAAcN,WAAW;IAE7C,MAAMU,SAASP,SAAS,GAAG,CAAU,2BAA2B;IAEhE,MAAMQ,wBAAwB,CAACD;QAC3BT,SAAS,CAAC,EAAEW,MAAM,EAAET,QAAQ,EAAE;YAC1B,IAAIO,QAAQ;gBACR,MAAMG,QAAQ,GAAGR,WAAW,KAAK,IAAI,IAAIA,WAAW,IAAI,EAAE;gBAC1DO,OAAO,GAAG,CAAC,gBAAgBC;gBAC3BD,OAAO,GAAG,CAAC,iBAAiBC;gBAC5BD,OAAO,GAAG,CAAC,eAAeC;YAC9B;YACAV,SAAS,GAAG,CAAC,wBAAwBO;QACzC;IACJ;IAEA,MAAMI,qBAAqB,CAACD;QACxB,IAAIH,QACAT,SAAS,CAAC,EAAEW,MAAM,EAAE;YAChBA,OAAO,GAAG,CAAC,cAAcC;YACzBD,OAAO,GAAG,CAAC,gBAAgBC;YAC3BD,OAAO,GAAG,CAAC,iBAAiBC;YAC5BD,OAAO,GAAG,CAAC,eAAeC;QAC9B;aAEAR,WAAW,QAAQ,CAACQ;IAE5B;IAEA,MAAME,4BAA4B,CAACF;QAC/B,IAAIH,QACAR,gBAAgB,CAAC,EAAEU,MAAM,EAAE;YACvBA,OAAO,GAAG,CAAC,cAAcC;YACzBD,OAAO,GAAG,CAAC,gBAAgBC;YAC3BD,OAAO,GAAG,CAAC,iBAAiBC;YAC5BD,OAAO,GAAG,CAAC,eAAeC;QAC9B;aAEAR,WAAW,eAAe,CAACQ;IAEnC;IAEA,MAAMG,UAAU;QACZ,IAAIN,QACAT,SAAS,CAAC,EAAEW,MAAM,EAAE;YAChBA,OAAO,KAAK,CAAC;YACbA,OAAO,KAAK,CAAC;YACbA,OAAO,KAAK,CAAC;YACbA,OAAO,KAAK,CAAC;QACjB;aAEAP,WAAW,OAAO;IAE1B;IAEA,MAAMY,eAAe;IAErB,OAAO,WAAP,GACI,oBAAC;QAAI,WAAU;qBACX,oBAAC;QAAK,WAAU;QAAmB,OAAO;YAAE,KAAK;YAAG,MAAM;QAAE;OAAG,0BAI/D,oBAACC,eAAaA;QAAC,QAAQR;QAAQ,UAAUC;sBAGzC,oBAAC;QAAI,WAAWM;QAAc,OAAO;YAAE,YAAY;QAAM;qBACrD,oBAACE,eAAaA;QACV,OAAO;QACN,GAAGd,UAAU;QACd,SAASW;QACT,OAAOnB;QACP,UAAUiB;QACV,iBAAiBC;uBAKzB,oBAAC;QAAI,WAAWE;QAAc,OAAO;YAAE,OAAO;YAAK,YAAY;QAAM;qBACjE,oBAACE,eAAaA;QACV,OAAO;QACN,GAAGV,WAAW;QACf,OAAOd;QACP,UAAUe;sBAEd,oBAAC;QACG,WAAU;QACV,OAAO;YAAE,OAAO;YAAK,QAAQ;QAAG;OACnC,oBAGD,oBAACS,eAAaA;QACV,OAAO;QACN,GAAGZ,YAAY;QAChB,OAAOZ;QACP,UAAUe;uBAKlB,oBAAC;QAAI,WAAWO;QAAc,OAAO;YAAE,SAAS;QAAQ;qBACpD,oBAACE,eAAaA;QACV,OAAO;QACN,GAAGX,aAAa;QACjB,OAAOX;QACP,UAAUa;;AAK9B"}
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Padding.js","sources":["../../../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Padding.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { LinkedEditing } from \"./LinkedEditing.js\";\nimport { useStyles } from \"../../useStyles.js\";\nimport { ValueSelector } from \"../../ValueSelector.js\";\nimport { useStyleValue } from \"../../useStyleValue.js\";\nimport { UnitsOptions } from \"../../UnitsOptions.js\";\n\nconst widthOptions = UnitsOptions.widthUnits().getOptions();\nconst heightOptions = UnitsOptions.heightUnits().getOptions();\n\ninterface PaddingProps {\n elementId: string;\n}\n\nexport const Padding = observer(({ elementId }: PaddingProps) => {\n const { onChange, onPreviewChange, metadata } = useStyles(elementId);\n\n const paddingTop = useStyleValue(elementId, \"paddingTop\");\n const paddingRight = useStyleValue(elementId, \"paddingRight\");\n const paddingBottom = useStyleValue(elementId, \"paddingBottom\");\n const paddingLeft = useStyleValue(elementId, \"paddingLeft\");\n\n const linked = metadata.get<boolean>(\"paddingLinkedEditing\") ?? true;\n\n const onToggleLinkedEditing = (linked: boolean) => {\n onChange(({ styles, metadata }) => {\n if (linked) {\n const value = `${paddingTop.value ?? 0}${paddingTop.unit}`;\n styles.set(\"paddingRight\", value);\n styles.set(\"paddingBottom\", value);\n styles.set(\"paddingLeft\", value);\n }\n metadata.set(\"paddingLinkedEditing\", linked);\n });\n };\n\n const onPaddingTopChange = (value: string) => {\n if (linked) {\n onChange(({ styles }) => {\n styles.set(\"paddingTop\", value);\n styles.set(\"paddingRight\", value);\n styles.set(\"paddingBottom\", value);\n styles.set(\"paddingLeft\", value);\n });\n } else {\n paddingTop.onChange(value);\n }\n };\n\n const onPaddingTopPreviewChange = (value: string) => {\n if (linked) {\n onPreviewChange(({ styles }) => {\n styles.set(\"paddingTop\", value);\n styles.set(\"paddingRight\", value);\n styles.set(\"paddingBottom\", value);\n styles.set(\"paddingLeft\", value);\n });\n } else {\n paddingTop.onChangePreview(value);\n }\n };\n\n const onReset = () => {\n if (linked) {\n onChange(({ styles }) => {\n styles.unset(\"paddingTop\");\n styles.unset(\"paddingRight\");\n styles.unset(\"paddingBottom\");\n styles.unset(\"paddingLeft\");\n });\n } else {\n paddingTop.onReset();\n }\n };\n\n const rowClassname = \"flex flex-row w-full justify-center items-center\";\n\n return (\n <div className=\"flex flex-col items-center bg-neutral-disabled relative rounded-lg p-sm\">\n {/* Top Padding */}\n <div className={\"grid grid-cols-3 items-center w-full\"}>\n <span className=\"text-sm text-neutral-strong\">Padding</span>\n <div className={\"flex justify-center\"}>\n <ValueSelector\n label={\"Top padding\"}\n {...paddingTop}\n onReset={onReset}\n units={heightOptions}\n onChange={onPaddingTopChange}\n onChangePreview={onPaddingTopPreviewChange}\n />\n </div>\n <div className={\"flex justify-end\"}>\n <LinkedEditing linked={linked} onToggle={onToggleLinkedEditing} />\n </div>\n </div>\n\n {/* Center Row (Left Padding + Content + Right Padding) */}\n <div className={rowClassname} style={{ width: 168, paddingTop: \"16px\" }}>\n <ValueSelector\n label={\"Left padding\"}\n {...paddingLeft}\n units={widthOptions}\n disabled={linked}\n />\n <div\n className=\"flex border-sm border-neutral-muted bg-neutral-light rounded-md items-center justify-center\"\n style={{ width: 170, height: 30 }}\n >\n -\n </div>\n <ValueSelector\n label={\"Right padding\"}\n {...paddingRight}\n units={widthOptions}\n disabled={linked}\n />\n </div>\n\n {/* Bottom Padding */}\n <div className={rowClassname} style={{ padding: \"8px 0\" }}>\n <ValueSelector\n label={\"Bottom padding\"}\n {...paddingBottom}\n units={heightOptions}\n disabled={linked}\n />\n </div>\n </div>\n );\n});\n"],"names":["widthOptions","UnitsOptions","heightOptions","Padding","observer","elementId","onChange","onPreviewChange","metadata","useStyles","paddingTop","useStyleValue","paddingRight","paddingBottom","paddingLeft","linked","onToggleLinkedEditing","styles","value","onPaddingTopChange","onPaddingTopPreviewChange","onReset","rowClassname","ValueSelector","LinkedEditing"],"mappings":";;;;;;;AAQA,MAAMA,eAAeC,aAAa,UAAU,GAAG,UAAU;AACzD,MAAMC,gBAAgBD,aAAa,WAAW,GAAG,UAAU;AAMpD,MAAME,UAAUC,SAAS,CAAC,EAAEC,SAAS,EAAgB;IACxD,MAAM,EAAEC,QAAQ,EAAEC,eAAe,EAAEC,QAAQ,EAAE,GAAGC,UAAUJ;IAE1D,MAAMK,aAAaC,cAAcN,WAAW;IAC5C,MAAMO,eAAeD,cAAcN,WAAW;IAC9C,MAAMQ,gBAAgBF,cAAcN,WAAW;IAC/C,MAAMS,cAAcH,cAAcN,WAAW;IAE7C,MAAMU,SAASP,SAAS,GAAG,CAAU,2BAA2B;IAEhE,MAAMQ,wBAAwB,CAACD;QAC3BT,SAAS,CAAC,EAAEW,MAAM,EAAET,QAAQ,EAAE;YAC1B,IAAIO,QAAQ;gBACR,MAAMG,QAAQ,GAAGR,WAAW,KAAK,IAAI,IAAIA,WAAW,IAAI,EAAE;gBAC1DO,OAAO,GAAG,CAAC,gBAAgBC;gBAC3BD,OAAO,GAAG,CAAC,iBAAiBC;gBAC5BD,OAAO,GAAG,CAAC,eAAeC;YAC9B;YACAV,SAAS,GAAG,CAAC,wBAAwBO;QACzC;IACJ;IAEA,MAAMI,qBAAqB,CAACD;QACxB,IAAIH,QACAT,SAAS,CAAC,EAAEW,MAAM,EAAE;YAChBA,OAAO,GAAG,CAAC,cAAcC;YACzBD,OAAO,GAAG,CAAC,gBAAgBC;YAC3BD,OAAO,GAAG,CAAC,iBAAiBC;YAC5BD,OAAO,GAAG,CAAC,eAAeC;QAC9B;aAEAR,WAAW,QAAQ,CAACQ;IAE5B;IAEA,MAAME,4BAA4B,CAACF;QAC/B,IAAIH,QACAR,gBAAgB,CAAC,EAAEU,MAAM,EAAE;YACvBA,OAAO,GAAG,CAAC,cAAcC;YACzBD,OAAO,GAAG,CAAC,gBAAgBC;YAC3BD,OAAO,GAAG,CAAC,iBAAiBC;YAC5BD,OAAO,GAAG,CAAC,eAAeC;QAC9B;aAEAR,WAAW,eAAe,CAACQ;IAEnC;IAEA,MAAMG,UAAU;QACZ,IAAIN,QACAT,SAAS,CAAC,EAAEW,MAAM,EAAE;YAChBA,OAAO,KAAK,CAAC;YACbA,OAAO,KAAK,CAAC;YACbA,OAAO,KAAK,CAAC;YACbA,OAAO,KAAK,CAAC;QACjB;aAEAP,WAAW,OAAO;IAE1B;IAEA,MAAMY,eAAe;IAErB,OAAO,WAAP,GACI,oBAAC;QAAI,WAAU;qBAEX,oBAAC;QAAI,WAAW;qBACZ,oBAAC;QAAK,WAAU;OAA8B,0BAC9C,oBAAC;QAAI,WAAW;qBACZ,oBAACC,eAAaA;QACV,OAAO;QACN,GAAGb,UAAU;QACd,SAASW;QACT,OAAOnB;QACP,UAAUiB;QACV,iBAAiBC;uBAGzB,oBAAC;QAAI,WAAW;qBACZ,oBAACI,eAAaA;QAAC,QAAQT;QAAQ,UAAUC;wBAKjD,oBAAC;QAAI,WAAWM;QAAc,OAAO;YAAE,OAAO;YAAK,YAAY;QAAO;qBAClE,oBAACC,eAAaA;QACV,OAAO;QACN,GAAGT,WAAW;QACf,OAAOd;QACP,UAAUe;sBAEd,oBAAC;QACG,WAAU;QACV,OAAO;YAAE,OAAO;YAAK,QAAQ;QAAG;OACnC,oBAGD,oBAACQ,eAAaA;QACV,OAAO;QACN,GAAGX,YAAY;QAChB,OAAOZ;QACP,UAAUe;uBAKlB,oBAAC;QAAI,WAAWO;QAAc,OAAO;YAAE,SAAS;QAAQ;qBACpD,oBAACC,eAAaA;QACV,OAAO;QACN,GAAGV,aAAa;QACjB,OAAOX;QACP,UAAUa;;AAK9B"}
@@ -1,17 +1,14 @@
1
1
  import react from "react";
2
- import { Accordion } from "@webiny/admin-ui";
2
+ import { ReactComponent } from "@webiny/icons/border_inner.svg";
3
+ import { StyleAccordion } from "../StyleAccordion.js";
3
4
  import { MarginPaddingControl } from "./MarginPadding/MarginPadding.js";
4
- const MarginPadding = ({ elementId })=>/*#__PURE__*/ react.createElement(Accordion.Item, {
5
+ const MarginPadding = ({ elementId })=>/*#__PURE__*/ react.createElement(StyleAccordion.Item, {
5
6
  title: "Margin & Padding",
6
- description: "Set spacing in and around the element"
7
- }, /*#__PURE__*/ react.createElement("div", {
8
- style: {
9
- width: 280,
10
- marginLeft: -8
11
- }
7
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
8
+ noPadding: true
12
9
  }, /*#__PURE__*/ react.createElement(MarginPaddingControl, {
13
10
  elementId: elementId
14
- })));
11
+ }));
15
12
  export { MarginPadding };
16
13
 
17
14
  //# sourceMappingURL=MarginPadding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding.js","sources":["../../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding.tsx"],"sourcesContent":["import React from \"react\";\nimport { Accordion } from \"@webiny/admin-ui\";\nimport { MarginPaddingControl } from \"./MarginPadding/MarginPadding.js\";\n\ninterface MarginPaddingProps {\n elementId: string;\n}\n\nexport const MarginPadding = ({ elementId }: MarginPaddingProps) => {\n return (\n <Accordion.Item\n title={\"Margin & Padding\"}\n description={\"Set spacing in and around the element\"}\n >\n <div style={{ width: 280, marginLeft: -8 }}>\n <MarginPaddingControl elementId={elementId} />\n </div>\n </Accordion.Item>\n );\n};\n"],"names":["MarginPadding","elementId","Accordion","MarginPaddingControl"],"mappings":";;;AAQO,MAAMA,gBAAgB,CAAC,EAAEC,SAAS,EAAsB,GACpD,WAAP,GACI,oBAACC,UAAU,IAAI;QACX,OAAO;QACP,aAAa;qBAEb,oBAAC;QAAI,OAAO;YAAE,OAAO;YAAK,YAAY;QAAG;qBACrC,oBAACC,sBAAoBA;QAAC,WAAWF"}
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding.js","sources":["../../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as MarginPaddingIcon } from \"@webiny/icons/border_inner.svg\";\nimport { StyleAccordion } from \"../StyleAccordion.js\";\nimport { MarginPaddingControl } from \"./MarginPadding/MarginPadding.js\";\n\ninterface MarginPaddingProps {\n elementId: string;\n}\n\nexport const MarginPadding = ({ elementId }: MarginPaddingProps) => {\n return (\n <StyleAccordion.Item title={\"Margin & Padding\"} icon={<MarginPaddingIcon />} noPadding>\n <MarginPaddingControl elementId={elementId} />\n </StyleAccordion.Item>\n );\n};\n"],"names":["MarginPadding","elementId","StyleAccordion","MarginPaddingIcon","MarginPaddingControl"],"mappings":";;;;AASO,MAAMA,gBAAgB,CAAC,EAAEC,SAAS,EAAsB,GACpD,WAAP,GACI,oBAACC,eAAe,IAAI;QAAC,OAAO;QAAoB,oBAAM,oBAACC,gBAAiBA;QAAK;qBACzE,oBAACC,sBAAoBA;QAAC,WAAWH"}
@@ -1,8 +1,19 @@
1
1
  import react from "react";
2
2
  import { observer } from "mobx-react-lite";
3
- import { Switch } from "@webiny/admin-ui";
3
+ import { SegmentedControl } from "@webiny/admin-ui";
4
4
  import { useStyles } from "../../useStyles.js";
5
5
  import { InheritanceLabel } from "../../../InheritanceLabel.js";
6
+ import { SidebarRow } from "../../SidebarRow.js";
7
+ const ITEMS = [
8
+ {
9
+ label: "Visible",
10
+ value: "show"
11
+ },
12
+ {
13
+ label: "Hidden",
14
+ value: "hide"
15
+ }
16
+ ];
6
17
  const Visibility = observer(({ elementId })=>{
7
18
  const { styles, onChange, inheritanceMap } = useStyles(elementId);
8
19
  const isVisible = "none" !== styles.display;
@@ -17,16 +28,19 @@ const Visibility = observer(({ elementId })=>{
17
28
  });
18
29
  };
19
30
  const inheritance = inheritanceMap.display ?? {};
20
- return /*#__PURE__*/ react.createElement(Switch, {
31
+ return /*#__PURE__*/ react.createElement(SidebarRow, {
21
32
  label: /*#__PURE__*/ react.createElement(InheritanceLabel, {
22
33
  onReset: onReset,
23
34
  isOverridden: inheritance?.overridden ?? false,
24
35
  inheritedFrom: inheritance?.inheritedFrom,
25
- text: "Hide element"
26
- }),
27
- checked: !isVisible,
28
- onChange: toggleVisibility
29
- });
36
+ text: "Visibility"
37
+ })
38
+ }, /*#__PURE__*/ react.createElement(SegmentedControl, {
39
+ fullWidth: true,
40
+ items: ITEMS,
41
+ value: isVisible ? "show" : "hide",
42
+ onChange: (value)=>toggleVisibility("hide" === value)
43
+ }));
30
44
  });
31
45
  export { Visibility };
32
46
 
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Visibility/Visibility.js","sources":["../../../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Visibility/Visibility.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Switch } from \"@webiny/admin-ui\";\nimport { useStyles } from \"~/BaseEditor/defaultConfig/Sidebar/StyleSettings/useStyles.js\";\nimport { InheritanceLabel } from \"~/BaseEditor/defaultConfig/Sidebar/InheritanceLabel.js\";\n\nexport interface VisibilityProps {\n elementId: string;\n}\n\nexport const Visibility = observer(({ elementId }: VisibilityProps) => {\n const { styles, onChange, inheritanceMap } = useStyles(elementId);\n\n const isVisible = styles.display !== \"none\";\n\n const toggleVisibility = (isHidden: boolean) => {\n onChange(({ styles }) => {\n styles.set(\"display\", isHidden ? \"none\" : \"flex\");\n });\n };\n\n const onReset = () => {\n onChange(({ styles }) => {\n styles.unset(\"display\");\n });\n };\n\n const inheritance = inheritanceMap.display ?? {};\n\n return (\n <Switch\n label={\n <InheritanceLabel\n onReset={onReset}\n isOverridden={inheritance?.overridden ?? false}\n inheritedFrom={inheritance?.inheritedFrom}\n text={\"Hide element\"}\n />\n }\n checked={!isVisible}\n onChange={toggleVisibility}\n />\n );\n});\n"],"names":["Visibility","observer","elementId","styles","onChange","inheritanceMap","useStyles","isVisible","toggleVisibility","isHidden","onReset","inheritance","Switch","InheritanceLabel"],"mappings":";;;;;AAUO,MAAMA,aAAaC,SAAS,CAAC,EAAEC,SAAS,EAAmB;IAC9D,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,cAAc,EAAE,GAAGC,UAAUJ;IAEvD,MAAMK,YAAYJ,AAAmB,WAAnBA,OAAO,OAAO;IAEhC,MAAMK,mBAAmB,CAACC;QACtBL,SAAS,CAAC,EAAED,MAAM,EAAE;YAChBA,OAAO,GAAG,CAAC,WAAWM,WAAW,SAAS;QAC9C;IACJ;IAEA,MAAMC,UAAU;QACZN,SAAS,CAAC,EAAED,MAAM,EAAE;YAChBA,OAAO,KAAK,CAAC;QACjB;IACJ;IAEA,MAAMQ,cAAcN,eAAe,OAAO,IAAI,CAAC;IAE/C,OAAO,WAAP,GACI,oBAACO,QAAMA;QACH,qBACI,oBAACC,kBAAgBA;YACb,SAASH;YACT,cAAcC,aAAa,cAAc;YACzC,eAAeA,aAAa;YAC5B,MAAM;;QAGd,SAAS,CAACJ;QACV,UAAUC;;AAGtB"}
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Visibility/Visibility.js","sources":["../../../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Visibility/Visibility.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { SegmentedControl } from \"@webiny/admin-ui\";\nimport { useStyles } from \"~/BaseEditor/defaultConfig/Sidebar/StyleSettings/useStyles.js\";\nimport { InheritanceLabel } from \"~/BaseEditor/defaultConfig/Sidebar/InheritanceLabel.js\";\nimport { SidebarRow } from \"~/BaseEditor/defaultConfig/Sidebar/StyleSettings/SidebarRow.js\";\n\nexport interface VisibilityProps {\n elementId: string;\n}\n\nconst ITEMS = [\n { label: \"Visible\", value: \"show\" },\n { label: \"Hidden\", value: \"hide\" }\n];\n\nexport const Visibility = observer(({ elementId }: VisibilityProps) => {\n const { styles, onChange, inheritanceMap } = useStyles(elementId);\n\n const isVisible = styles.display !== \"none\";\n\n const toggleVisibility = (isHidden: boolean) => {\n onChange(({ styles }) => {\n styles.set(\"display\", isHidden ? \"none\" : \"flex\");\n });\n };\n\n const onReset = () => {\n onChange(({ styles }) => {\n styles.unset(\"display\");\n });\n };\n\n const inheritance = inheritanceMap.display ?? {};\n\n return (\n <SidebarRow\n label={\n <InheritanceLabel\n onReset={onReset}\n isOverridden={inheritance?.overridden ?? false}\n inheritedFrom={inheritance?.inheritedFrom}\n text={\"Visibility\"}\n />\n }\n >\n <SegmentedControl\n fullWidth\n items={ITEMS}\n value={isVisible ? \"show\" : \"hide\"}\n onChange={value => toggleVisibility(value === \"hide\")}\n />\n </SidebarRow>\n );\n});\n"],"names":["ITEMS","Visibility","observer","elementId","styles","onChange","inheritanceMap","useStyles","isVisible","toggleVisibility","isHidden","onReset","inheritance","SidebarRow","InheritanceLabel","SegmentedControl","value"],"mappings":";;;;;;AAWA,MAAMA,QAAQ;IACV;QAAE,OAAO;QAAW,OAAO;IAAO;IAClC;QAAE,OAAO;QAAU,OAAO;IAAO;CACpC;AAEM,MAAMC,aAAaC,SAAS,CAAC,EAAEC,SAAS,EAAmB;IAC9D,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,cAAc,EAAE,GAAGC,UAAUJ;IAEvD,MAAMK,YAAYJ,AAAmB,WAAnBA,OAAO,OAAO;IAEhC,MAAMK,mBAAmB,CAACC;QACtBL,SAAS,CAAC,EAAED,MAAM,EAAE;YAChBA,OAAO,GAAG,CAAC,WAAWM,WAAW,SAAS;QAC9C;IACJ;IAEA,MAAMC,UAAU;QACZN,SAAS,CAAC,EAAED,MAAM,EAAE;YAChBA,OAAO,KAAK,CAAC;QACjB;IACJ;IAEA,MAAMQ,cAAcN,eAAe,OAAO,IAAI,CAAC;IAE/C,OAAO,WAAP,GACI,oBAACO,YAAUA;QACP,qBACI,oBAACC,kBAAgBA;YACb,SAASH;YACT,cAAcC,aAAa,cAAc;YACzC,eAAeA,aAAa;YAC5B,MAAM;;qBAId,oBAACG,kBAAgBA;QACb;QACA,OAAOf;QACP,OAAOQ,YAAY,SAAS;QAC5B,UAAUQ,CAAAA,QAASP,iBAAiBO,AAAU,WAAVA;;AAIpD"}
@@ -1,9 +1,10 @@
1
1
  import react from "react";
2
- import { Accordion } from "@webiny/admin-ui";
2
+ import { ReactComponent } from "@webiny/icons/visibility.svg";
3
+ import { StyleAccordion } from "../StyleAccordion.js";
3
4
  import { Visibility } from "./Visibility/index.js";
4
- const VisibilityGroup = ({ elementId })=>/*#__PURE__*/ react.createElement(Accordion.Item, {
5
+ const VisibilityGroup = ({ elementId })=>/*#__PURE__*/ react.createElement(StyleAccordion.Item, {
5
6
  title: "Visibility",
6
- description: "Set element visibility"
7
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null)
7
8
  }, /*#__PURE__*/ react.createElement(Visibility, {
8
9
  elementId: elementId
9
10
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/VisibilityGroup.js","sources":["../../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/VisibilityGroup.tsx"],"sourcesContent":["import React from \"react\";\nimport { Accordion } from \"@webiny/admin-ui\";\nimport { Visibility, type VisibilityProps } from \"./Visibility/index.js\";\n\nexport const VisibilityGroup = ({ elementId }: VisibilityProps) => {\n return (\n <Accordion.Item title={\"Visibility\"} description={\"Set element visibility\"}>\n <Visibility elementId={elementId} />\n </Accordion.Item>\n );\n};\n"],"names":["VisibilityGroup","elementId","Accordion","Visibility"],"mappings":";;;AAIO,MAAMA,kBAAkB,CAAC,EAAEC,SAAS,EAAmB,GACnD,WAAP,GACI,oBAACC,UAAU,IAAI;QAAC,OAAO;QAAc,aAAa;qBAC9C,oBAACC,YAAUA;QAAC,WAAWF"}
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/VisibilityGroup.js","sources":["../../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/VisibilityGroup.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as VisibilityIcon } from \"@webiny/icons/visibility.svg\";\nimport { StyleAccordion } from \"../StyleAccordion.js\";\nimport { Visibility, type VisibilityProps } from \"./Visibility/index.js\";\n\nexport const VisibilityGroup = ({ elementId }: VisibilityProps) => {\n return (\n <StyleAccordion.Item title={\"Visibility\"} icon={<VisibilityIcon />}>\n <Visibility elementId={elementId} />\n </StyleAccordion.Item>\n );\n};\n"],"names":["VisibilityGroup","elementId","StyleAccordion","VisibilityIcon","Visibility"],"mappings":";;;;AAKO,MAAMA,kBAAkB,CAAC,EAAEC,SAAS,EAAmB,GACnD,WAAP,GACI,oBAACC,eAAe,IAAI;QAAC,OAAO;QAAc,oBAAM,oBAACC,gBAAcA;qBAC3D,oBAACC,YAAUA;QAAC,WAAWH"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ interface SidebarRowProps {
3
+ label: React.ReactNode;
4
+ tooltip?: React.ReactNode;
5
+ children: React.ReactNode;
6
+ }
7
+ export declare const SidebarRow: ({ label, tooltip, children }: SidebarRowProps) => React.JSX.Element;
8
+ export {};
@@ -0,0 +1,24 @@
1
+ import react from "react";
2
+ import { Icon, Tooltip } from "@webiny/admin-ui";
3
+ import { ReactComponent } from "@webiny/icons/info.svg";
4
+ const SidebarRow = ({ label, tooltip, children })=>/*#__PURE__*/ react.createElement("div", {
5
+ className: "flex items-center gap-xxs"
6
+ }, /*#__PURE__*/ react.createElement("div", {
7
+ className: "w-[80px] flex flex-row items-center gap-xxs shrink-0 text-sm text-neutral-strong"
8
+ }, label, tooltip ? /*#__PURE__*/ react.createElement(Tooltip, {
9
+ trigger: /*#__PURE__*/ react.createElement(Icon, {
10
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
11
+ size: "xs",
12
+ label: "More information",
13
+ color: "neutral-light"
14
+ }),
15
+ content: tooltip,
16
+ side: "left"
17
+ }) : /*#__PURE__*/ react.createElement("div", {
18
+ className: "w-xs shrink-0"
19
+ })), /*#__PURE__*/ react.createElement("div", {
20
+ className: "flex-1"
21
+ }, children));
22
+ export { SidebarRow };
23
+
24
+ //# sourceMappingURL=SidebarRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/SidebarRow.js","sources":["../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/SidebarRow.tsx"],"sourcesContent":["import React from \"react\";\nimport { Icon, Tooltip } from \"@webiny/admin-ui\";\nimport { ReactComponent as InfoIcon } from \"@webiny/icons/info.svg\";\n\ninterface SidebarRowProps {\n label: React.ReactNode;\n tooltip?: React.ReactNode;\n children: React.ReactNode;\n}\n\nexport const SidebarRow = ({ label, tooltip, children }: SidebarRowProps) => {\n return (\n <div className={\"flex items-center gap-xxs\"}>\n <div\n className={\n \"w-[80px] flex flex-row items-center gap-xxs shrink-0 text-sm text-neutral-strong\"\n }\n >\n {label}\n\n {tooltip ? (\n <Tooltip\n trigger={\n <Icon\n icon={<InfoIcon />}\n size={\"xs\"}\n label={\"More information\"}\n color={\"neutral-light\"}\n />\n }\n content={tooltip}\n side={\"left\"}\n />\n ) : (\n <div className={\"w-xs shrink-0\"} />\n )}\n </div>\n <div className={\"flex-1\"}>{children}</div>\n </div>\n );\n};\n"],"names":["SidebarRow","label","tooltip","children","Tooltip","Icon","InfoIcon"],"mappings":";;;AAUO,MAAMA,aAAa,CAAC,EAAEC,KAAK,EAAEC,OAAO,EAAEC,QAAQ,EAAmB,GAC7D,WAAP,GACI,oBAAC;QAAI,WAAW;qBACZ,oBAAC;QACG,WACI;OAGHF,OAEAC,UAAU,WAAVA,GACG,oBAACE,SAAOA;QACJ,uBACI,oBAACC,MAAIA;YACD,oBAAM,oBAACC,gBAAQA;YACf,MAAM;YACN,OAAO;YACP,OAAO;;QAGf,SAASJ;QACT,MAAM;uBAGV,oBAAC;QAAI,WAAW;uBAGxB,oBAAC;QAAI,WAAW;OAAWC"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ interface StyleAccordionProps {
3
+ children: React.ReactNode;
4
+ }
5
+ export declare const StyleAccordion: (({ children }: StyleAccordionProps) => React.JSX.Element) & {
6
+ Item: ({ title, icon, defaultOpen, noPadding, children }: import("./StyleAccordionItem.js").StyleAccordionItemProps) => React.JSX.Element;
7
+ };
8
+ export {};
@@ -0,0 +1,11 @@
1
+ import react from "react";
2
+ import { StyleAccordionItem } from "./StyleAccordionItem.js";
3
+ const StyleAccordionRoot = ({ children })=>/*#__PURE__*/ react.createElement("div", {
4
+ className: "flex flex-col gap-y-sm"
5
+ }, children);
6
+ const StyleAccordion = Object.assign(StyleAccordionRoot, {
7
+ Item: StyleAccordionItem
8
+ });
9
+ export { StyleAccordion };
10
+
11
+ //# sourceMappingURL=StyleAccordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleAccordion.js","sources":["../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleAccordion.tsx"],"sourcesContent":["import React from \"react\";\nimport { StyleAccordionItem } from \"./StyleAccordionItem.js\";\n\ninterface StyleAccordionProps {\n children: React.ReactNode;\n}\n\nconst StyleAccordionRoot = ({ children }: StyleAccordionProps) => (\n <div className={\"flex flex-col gap-y-sm\"}>{children}</div>\n);\n\nexport const StyleAccordion = Object.assign(StyleAccordionRoot, {\n Item: StyleAccordionItem\n});\n"],"names":["StyleAccordionRoot","children","StyleAccordion","Object","StyleAccordionItem"],"mappings":";;AAOA,MAAMA,qBAAqB,CAAC,EAAEC,QAAQ,EAAuB,iBACzD,oBAAC;QAAI,WAAW;OAA2BA;AAGxC,MAAMC,iBAAiBC,OAAO,MAAM,CAACH,oBAAoB;IAC5D,MAAMI;AACV"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ export interface StyleAccordionItemProps {
3
+ title: string;
4
+ icon?: React.ReactElement;
5
+ defaultOpen?: boolean;
6
+ noPadding?: boolean;
7
+ children: React.ReactNode;
8
+ }
9
+ export declare const StyleAccordionItem: ({ title, icon, defaultOpen, noPadding, children }: StyleAccordionItemProps) => React.JSX.Element;
@@ -0,0 +1,45 @@
1
+ import react, { useState } from "react";
2
+ import { Collapsible } from "radix-ui";
3
+ import { ReactComponent } from "@webiny/icons/keyboard_arrow_down.svg";
4
+ import { Icon } from "@webiny/admin-ui";
5
+ const StyleAccordionItem = ({ title, icon, defaultOpen = false, noPadding = false, children })=>{
6
+ const [isOpen, setIsOpen] = useState(defaultOpen);
7
+ return /*#__PURE__*/ react.createElement(Collapsible.Root, {
8
+ defaultOpen: defaultOpen,
9
+ onOpenChange: setIsOpen
10
+ }, /*#__PURE__*/ react.createElement(Collapsible.Trigger, {
11
+ asChild: true
12
+ }, /*#__PURE__*/ react.createElement("div", {
13
+ role: "button",
14
+ tabIndex: 0,
15
+ className: "w-full flex items-center justify-between py-sm px-sm cursor-pointer select-none rounded-lg " + (isOpen ? "" : "bg-neutral-subtle"),
16
+ onKeyDown: (e)=>{
17
+ if ("Enter" === e.key || " " === e.key) {
18
+ e.preventDefault();
19
+ e.currentTarget.click();
20
+ }
21
+ }
22
+ }, /*#__PURE__*/ react.createElement("div", {
23
+ className: "flex items-center gap-sm"
24
+ }, icon && /*#__PURE__*/ react.createElement(Icon, {
25
+ icon: icon,
26
+ label: title,
27
+ size: "md",
28
+ color: isOpen ? "accent" : "neutral-light"
29
+ }), /*#__PURE__*/ react.createElement("span", {
30
+ className: "text-md text-neutral-primary " + (isOpen ? "font-semibold" : "")
31
+ }, title)), /*#__PURE__*/ react.createElement(Icon, {
32
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
33
+ label: "Toggle",
34
+ size: "md",
35
+ color: "neutral-strong",
36
+ className: "transition-transform " + (isOpen ? "rotate-180" : "")
37
+ }))), /*#__PURE__*/ react.createElement(Collapsible.Content, {
38
+ className: "overflow-hidden data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down"
39
+ }, /*#__PURE__*/ react.createElement("div", {
40
+ className: noPadding ? "px-sm pt-sm pb-lg" : "px-md pt-sm pb-lg"
41
+ }, children)));
42
+ };
43
+ export { StyleAccordionItem };
44
+
45
+ //# sourceMappingURL=StyleAccordionItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleAccordionItem.js","sources":["../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleAccordionItem.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Collapsible } from \"radix-ui\";\nimport { ReactComponent as ChevronIcon } from \"@webiny/icons/keyboard_arrow_down.svg\";\nimport { Icon } from \"@webiny/admin-ui\";\n\nexport interface StyleAccordionItemProps {\n title: string;\n icon?: React.ReactElement;\n defaultOpen?: boolean;\n noPadding?: boolean;\n children: React.ReactNode;\n}\n\nexport const StyleAccordionItem = ({\n title,\n icon,\n defaultOpen = false,\n noPadding = false,\n children\n}: StyleAccordionItemProps) => {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n\n return (\n <Collapsible.Root defaultOpen={defaultOpen} onOpenChange={setIsOpen}>\n <Collapsible.Trigger asChild>\n <div\n role=\"button\"\n tabIndex={0}\n className={\n \"w-full flex items-center justify-between py-sm px-sm cursor-pointer select-none rounded-lg \" +\n (isOpen ? \"\" : \"bg-neutral-subtle\")\n }\n onKeyDown={e => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n e.currentTarget.click();\n }\n }}\n >\n <div className={\"flex items-center gap-sm\"}>\n {icon && (\n <Icon\n icon={icon}\n label={title}\n size={\"md\"}\n color={isOpen ? \"accent\" : \"neutral-light\"}\n />\n )}\n <span\n className={\n \"text-md text-neutral-primary \" + (isOpen ? \"font-semibold\" : \"\")\n }\n >\n {title}\n </span>\n </div>\n <Icon\n icon={<ChevronIcon />}\n label={\"Toggle\"}\n size={\"md\"}\n color={\"neutral-strong\"}\n className={\"transition-transform \" + (isOpen ? \"rotate-180\" : \"\")}\n />\n </div>\n </Collapsible.Trigger>\n <Collapsible.Content\n className={\n \"overflow-hidden data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down\"\n }\n >\n <div className={noPadding ? \"px-sm pt-sm pb-lg\" : \"px-md pt-sm pb-lg\"}>\n {children}\n </div>\n </Collapsible.Content>\n </Collapsible.Root>\n );\n};\n"],"names":["StyleAccordionItem","title","icon","defaultOpen","noPadding","children","isOpen","setIsOpen","useState","Collapsible","e","Icon","ChevronIcon"],"mappings":";;;;AAaO,MAAMA,qBAAqB,CAAC,EAC/BC,KAAK,EACLC,IAAI,EACJC,cAAc,KAAK,EACnBC,YAAY,KAAK,EACjBC,QAAQ,EACc;IACtB,MAAM,CAACC,QAAQC,UAAU,GAAGC,SAASL;IAErC,OAAO,WAAP,GACI,oBAACM,YAAY,IAAI;QAAC,aAAaN;QAAa,cAAcI;qBACtD,oBAACE,YAAY,OAAO;QAAC;qBACjB,oBAAC;QACG,MAAK;QACL,UAAU;QACV,WACI,gGACCH,CAAAA,SAAS,KAAK,mBAAkB;QAErC,WAAWI,CAAAA;YACP,IAAIA,AAAU,YAAVA,EAAE,GAAG,IAAgBA,AAAU,QAAVA,EAAE,GAAG,EAAU;gBACpCA,EAAE,cAAc;gBAChBA,EAAE,aAAa,CAAC,KAAK;YACzB;QACJ;qBAEA,oBAAC;QAAI,WAAW;OACXR,QAAQ,WAARA,GACG,oBAACS,MAAIA;QACD,MAAMT;QACN,OAAOD;QACP,MAAM;QACN,OAAOK,SAAS,WAAW;sBAGnC,oBAAC;QACG,WACI,kCAAmCA,CAAAA,SAAS,kBAAkB,EAAC;OAGlEL,SAAAA,WAAAA,GAGT,oBAACU,MAAIA;QACD,oBAAM,oBAACC,gBAAWA;QAClB,OAAO;QACP,MAAM;QACN,OAAO;QACP,WAAW,0BAA2BN,CAAAA,SAAS,eAAe,EAAC;wBAI3E,oBAACG,YAAY,OAAO;QAChB,WACI;qBAGJ,oBAAC;QAAI,WAAWL,YAAY,sBAAsB;OAC7CC;AAKrB"}
@@ -1,6 +1,7 @@
1
1
  import react, { useCallback } from "react";
2
- import { Accordion } from "@webiny/admin-ui";
2
+ import { StyleAccordion } from "./StyleAccordion.js";
3
3
  import { useActiveElement } from "../../../hooks/useActiveElement.js";
4
+ import { ElementPreview } from "../ElementPreview.js";
4
5
  import { Background } from "./Groups/Background.js";
5
6
  import { Border } from "./Groups/Border.js";
6
7
  import { MarginPadding } from "./Groups/MarginPadding.js";
@@ -22,7 +23,11 @@ const ElementStyleProperties = ({ element })=>{
22
23
  const isHidden = useCallback((name)=>hideStyles.includes(name), [
23
24
  hideStyles
24
25
  ]);
25
- return /*#__PURE__*/ react.createElement(Accordion, null, isHidden(StyleSettings.Layout) ? null : /*#__PURE__*/ react.createElement(Layout, {
26
+ return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement("div", {
27
+ className: "pt-md mb-md px-sm"
28
+ }, /*#__PURE__*/ react.createElement(ElementPreview, {
29
+ element: element
30
+ })), /*#__PURE__*/ react.createElement(StyleAccordion, null, isHidden(StyleSettings.Layout) ? null : /*#__PURE__*/ react.createElement(Layout, {
26
31
  elementId: element.id
27
32
  }), isHidden(StyleSettings.MarginPadding) ? null : /*#__PURE__*/ react.createElement(MarginPadding, {
28
33
  elementId: element.id
@@ -32,7 +37,7 @@ const ElementStyleProperties = ({ element })=>{
32
37
  elementId: element.id
33
38
  }), isHidden(StyleSettings.Visibility) ? null : /*#__PURE__*/ react.createElement(VisibilityGroup, {
34
39
  elementId: element.id
35
- }));
40
+ })));
36
41
  };
37
42
  export { StyleProperties };
38
43
 
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleProperties.js","sources":["../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleProperties.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { Accordion } from \"@webiny/admin-ui\";\nimport { useActiveElement } from \"~/BaseEditor/hooks/useActiveElement.js\";\nimport type { DocumentElement } from \"@webiny/website-builder-sdk\";\nimport { Background } from \"./Groups/Background.js\";\nimport { Border } from \"./Groups/Border.js\";\nimport { MarginPadding } from \"./Groups/MarginPadding.js\";\nimport { VisibilityGroup } from \"./Groups/VisibilityGroup.js\";\nimport { useElementComponentManifest } from \"~/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js\";\nimport { StyleSettings } from \"@webiny/website-builder-sdk\";\nimport { Layout } from \"./Groups/Layout.js\";\n\nexport const StyleProperties = () => {\n const [element] = useActiveElement();\n if (!element) {\n return null;\n }\n\n return <ElementStyleProperties element={element} />;\n};\n\nconst defaultHidden: string[] = [];\n\nconst ElementStyleProperties = ({ element }: { element: DocumentElement }) => {\n const componentManifest = useElementComponentManifest(element.id);\n const hideStyles = componentManifest?.hideStyleSettings ?? defaultHidden;\n\n const isHidden = useCallback(\n (name: string) => {\n return hideStyles.includes(name);\n },\n [hideStyles]\n );\n\n return (\n <Accordion>\n {isHidden(StyleSettings.Layout) ? null : <Layout elementId={element.id} />}\n {isHidden(StyleSettings.MarginPadding) ? null : (\n <MarginPadding elementId={element.id} />\n )}\n {isHidden(StyleSettings.Border) ? null : <Border elementId={element.id} />}\n {isHidden(StyleSettings.Background) ? null : <Background elementId={element.id} />}\n {isHidden(StyleSettings.Visibility) ? null : <VisibilityGroup elementId={element.id} />}\n </Accordion>\n );\n};\n"],"names":["StyleProperties","element","useActiveElement","ElementStyleProperties","defaultHidden","componentManifest","useElementComponentManifest","hideStyles","isHidden","useCallback","name","Accordion","StyleSettings","Layout","MarginPadding","Border","Background","VisibilityGroup"],"mappings":";;;;;;;;;;AAYO,MAAMA,kBAAkB;IAC3B,MAAM,CAACC,QAAQ,GAAGC;IAClB,IAAI,CAACD,SACD,OAAO;IAGX,OAAO,WAAP,GAAO,oBAACE,wBAAsBA;QAAC,SAASF;;AAC5C;AAEA,MAAMG,gBAA0B,EAAE;AAElC,MAAMD,yBAAyB,CAAC,EAAEF,OAAO,EAAgC;IACrE,MAAMI,oBAAoBC,4BAA4BL,QAAQ,EAAE;IAChE,MAAMM,aAAaF,mBAAmB,qBAAqBD;IAE3D,MAAMI,WAAWC,YACb,CAACC,OACUH,WAAW,QAAQ,CAACG,OAE/B;QAACH;KAAW;IAGhB,OAAO,WAAP,GACI,oBAACI,WAASA,MACLH,SAASI,cAAc,MAAM,IAAI,OAAO,WAAP,GAAO,oBAACC,QAAMA;QAAC,WAAWZ,QAAQ,EAAE;QACrEO,SAASI,cAAc,aAAa,IAAI,OAAO,WAAP,GACrC,oBAACE,eAAaA;QAAC,WAAWb,QAAQ,EAAE;QAEvCO,SAASI,cAAc,MAAM,IAAI,OAAO,WAAP,GAAO,oBAACG,QAAMA;QAAC,WAAWd,QAAQ,EAAE;QACrEO,SAASI,cAAc,UAAU,IAAI,OAAO,WAAP,GAAO,oBAACI,YAAUA;QAAC,WAAWf,QAAQ,EAAE;QAC7EO,SAASI,cAAc,UAAU,IAAI,OAAO,WAAP,GAAO,oBAACK,iBAAeA;QAAC,WAAWhB,QAAQ,EAAE;;AAG/F"}
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleProperties.js","sources":["../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleProperties.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { StyleAccordion } from \"./StyleAccordion.js\";\nimport { useActiveElement } from \"~/BaseEditor/hooks/useActiveElement.js\";\nimport type { DocumentElement } from \"@webiny/website-builder-sdk\";\nimport { ElementPreview } from \"~/BaseEditor/defaultConfig/Sidebar/ElementPreview.js\";\nimport { Background } from \"./Groups/Background.js\";\nimport { Border } from \"./Groups/Border.js\";\nimport { MarginPadding } from \"./Groups/MarginPadding.js\";\nimport { VisibilityGroup } from \"./Groups/VisibilityGroup.js\";\nimport { useElementComponentManifest } from \"~/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js\";\nimport { StyleSettings } from \"@webiny/website-builder-sdk\";\nimport { Layout } from \"./Groups/Layout.js\";\n\nexport const StyleProperties = () => {\n const [element] = useActiveElement();\n if (!element) {\n return null;\n }\n\n return <ElementStyleProperties element={element} />;\n};\n\nconst defaultHidden: string[] = [];\n\nconst ElementStyleProperties = ({ element }: { element: DocumentElement }) => {\n const componentManifest = useElementComponentManifest(element.id);\n const hideStyles = componentManifest?.hideStyleSettings ?? defaultHidden;\n\n const isHidden = useCallback(\n (name: string) => {\n return hideStyles.includes(name);\n },\n [hideStyles]\n );\n\n return (\n <>\n <div className={\"pt-md mb-md px-sm\"}>\n <ElementPreview element={element} />\n </div>\n <StyleAccordion>\n {isHidden(StyleSettings.Layout) ? null : <Layout elementId={element.id} />}\n {isHidden(StyleSettings.MarginPadding) ? null : (\n <MarginPadding elementId={element.id} />\n )}\n {isHidden(StyleSettings.Border) ? null : <Border elementId={element.id} />}\n {isHidden(StyleSettings.Background) ? null : <Background elementId={element.id} />}\n {isHidden(StyleSettings.Visibility) ? null : (\n <VisibilityGroup elementId={element.id} />\n )}\n </StyleAccordion>\n </>\n );\n};\n"],"names":["StyleProperties","element","useActiveElement","ElementStyleProperties","defaultHidden","componentManifest","useElementComponentManifest","hideStyles","isHidden","useCallback","name","ElementPreview","StyleAccordion","StyleSettings","Layout","MarginPadding","Border","Background","VisibilityGroup"],"mappings":";;;;;;;;;;;AAaO,MAAMA,kBAAkB;IAC3B,MAAM,CAACC,QAAQ,GAAGC;IAClB,IAAI,CAACD,SACD,OAAO;IAGX,OAAO,WAAP,GAAO,oBAACE,wBAAsBA;QAAC,SAASF;;AAC5C;AAEA,MAAMG,gBAA0B,EAAE;AAElC,MAAMD,yBAAyB,CAAC,EAAEF,OAAO,EAAgC;IACrE,MAAMI,oBAAoBC,4BAA4BL,QAAQ,EAAE;IAChE,MAAMM,aAAaF,mBAAmB,qBAAqBD;IAE3D,MAAMI,WAAWC,YACb,CAACC,OACUH,WAAW,QAAQ,CAACG,OAE/B;QAACH;KAAW;IAGhB,OAAO,WAAP,GACI,wDACI,oBAAC;QAAI,WAAW;qBACZ,oBAACI,gBAAcA;QAAC,SAASV;uBAE7B,oBAACW,gBAAcA,MACVJ,SAASK,cAAc,MAAM,IAAI,OAAO,WAAP,GAAO,oBAACC,QAAMA;QAAC,WAAWb,QAAQ,EAAE;QACrEO,SAASK,cAAc,aAAa,IAAI,OAAO,WAAP,GACrC,oBAACE,eAAaA;QAAC,WAAWd,QAAQ,EAAE;QAEvCO,SAASK,cAAc,MAAM,IAAI,OAAO,WAAP,GAAO,oBAACG,QAAMA;QAAC,WAAWf,QAAQ,EAAE;QACrEO,SAASK,cAAc,UAAU,IAAI,OAAO,WAAP,GAAO,oBAACI,YAAUA;QAAC,WAAWhB,QAAQ,EAAE;QAC7EO,SAASK,cAAc,UAAU,IAAI,OAAO,WAAP,GAClC,oBAACK,iBAAeA;QAAC,WAAWjB,QAAQ,EAAE;;AAK1D"}
@@ -1,20 +1,21 @@
1
1
  import react from "react";
2
+ import { Icon } from "@webiny/admin-ui";
3
+ import { ReactComponent } from "@webiny/icons/select_all.svg";
2
4
  import { Sidebar } from "../../../config/Sidebar/Sidebar.js";
3
5
  import { ScrollableContainer } from "../../../config/Sidebar/ScrollableContainer.js";
4
- import { useActiveElement } from "../../../hooks/useActiveElement.js";
5
- const StyleSettingsGroup = ()=>{
6
- const [element] = useActiveElement();
7
- return /*#__PURE__*/ react.createElement(ScrollableContainer, {
6
+ const StyleSettingsGroup = ()=>/*#__PURE__*/ react.createElement(ScrollableContainer, {
8
7
  tabIndex: -1
9
8
  }, /*#__PURE__*/ react.createElement(Sidebar.Group.Tab, {
10
9
  name: "style",
11
10
  label: "Style",
11
+ icon: /*#__PURE__*/ react.createElement(Icon, {
12
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
13
+ label: "Style"
14
+ }),
12
15
  element: /*#__PURE__*/ react.createElement(Sidebar.Elements, {
13
16
  group: "style"
14
- }),
15
- noPadding: !!element
17
+ })
16
18
  }));
17
- };
18
19
  export { StyleSettingsGroup };
19
20
 
20
21
  //# sourceMappingURL=StyleSettingsGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleSettingsGroup.js","sources":["../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleSettingsGroup.tsx"],"sourcesContent":["import React from \"react\";\nimport { Sidebar } from \"~/BaseEditor/config/Sidebar/Sidebar.js\";\nimport { ScrollableContainer } from \"~/BaseEditor/config/Sidebar/ScrollableContainer.js\";\nimport { useActiveElement } from \"~/BaseEditor/hooks/useActiveElement.js\";\n\nexport const StyleSettingsGroup = () => {\n const [element] = useActiveElement();\n\n return (\n <ScrollableContainer tabIndex={-1}>\n <Sidebar.Group.Tab\n name={\"style\"}\n label={\"Style\"}\n element={<Sidebar.Elements group={\"style\"} />}\n noPadding={element ? true : false}\n />\n </ScrollableContainer>\n );\n};\n"],"names":["StyleSettingsGroup","element","useActiveElement","ScrollableContainer","Sidebar"],"mappings":";;;;AAKO,MAAMA,qBAAqB;IAC9B,MAAM,CAACC,QAAQ,GAAGC;IAElB,OAAO,WAAP,GACI,oBAACC,qBAAmBA;QAAC,UAAU;qBAC3B,oBAACC,QAAQ,KAAK,CAAC,GAAG;QACd,MAAM;QACN,OAAO;QACP,uBAAS,oBAACA,QAAQ,QAAQ;YAAC,OAAO;;QAClC,SAAS,IAAEH;;AAI3B"}
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleSettingsGroup.js","sources":["../../../../../src/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleSettingsGroup.tsx"],"sourcesContent":["import React from \"react\";\nimport { Icon } from \"@webiny/admin-ui\";\nimport { ReactComponent as SelectAllIcon } from \"@webiny/icons/select_all.svg\";\nimport { Sidebar } from \"~/BaseEditor/config/Sidebar/Sidebar.js\";\nimport { ScrollableContainer } from \"~/BaseEditor/config/Sidebar/ScrollableContainer.js\";\n\nexport const StyleSettingsGroup = () => {\n return (\n <ScrollableContainer tabIndex={-1}>\n <Sidebar.Group.Tab\n name={\"style\"}\n label={\"Style\"}\n icon={<Icon icon={<SelectAllIcon />} label={\"Style\"} />}\n element={<Sidebar.Elements group={\"style\"} />}\n />\n </ScrollableContainer>\n );\n};\n"],"names":["StyleSettingsGroup","ScrollableContainer","Sidebar","Icon","SelectAllIcon"],"mappings":";;;;;AAMO,MAAMA,qBAAqB,IACvB,WAAP,GACI,oBAACC,qBAAmBA;QAAC,UAAU;qBAC3B,oBAACC,QAAQ,KAAK,CAAC,GAAG;QACd,MAAM;QACN,OAAO;QACP,oBAAM,oBAACC,MAAIA;YAAC,oBAAM,oBAACC,gBAAaA;YAAK,OAAO;;QAC5C,uBAAS,oBAACF,QAAQ,QAAQ;YAAC,OAAO"}
@@ -1,7 +1,7 @@
1
1
  import { BindingsProcessor, ComponentManifestToAstConverter, InheritanceProcessor, StylesBindingsProcessor } from "@webiny/website-builder-sdk";
2
2
  import { BreakpointElementMetadata, ElementMetadata, NullMetadata, StylesMetadata } from "../../../metadata/index.js";
3
3
  import { Commands } from "../../../index.js";
4
- import { autorun, makeAutoObservable, runInAction } from "mobx";
4
+ import { autorun, makeAutoObservable, runInAction, toJS } from "mobx";
5
5
  import { $getComponentManifestByElementId } from "../../../../editorSdk/utils/index.js";
6
6
  import { BASE_BREAKPOINT } from "../../../../constants.js";
7
7
  class StylesStore {
@@ -28,7 +28,7 @@ class StylesStore {
28
28
  };
29
29
  this.onPreviewChange = (cb)=>{
30
30
  if (!this.stylesProcessor) return;
31
- const styles = new StylesValueObject(structuredClone(this.devFriendlyStyles));
31
+ const styles = new StylesValueObject(structuredClone(toJS(this.devFriendlyStyles)));
32
32
  cb({
33
33
  styles,
34
34
  metadata: this.elementMetadata